[英]Using a subclassed PFObject in tableView:cellForRowAtIndexPath
我將PFObject
子類PFObject
:
import UIKit
import Parse
class Post: PFObject, PFSubclassing {
class func parseClassName() -> String {
return "Post"
}
}
在AppDelegate應用程序中注冊它:didFinishLaunchingWithOptions:
Post.registerSubclass()
我正在嘗試在tableView中使用該類:
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath, object: PFObject?) -> PFTableViewCell? {
var cell = tableView.dequeueReusableCellWithIdentifier(postCellReuseIdentifier) as? PostCell
if cell == nil {
cell = PostCell(style: UITableViewCellStyle.Default, reuseIdentifier: postCellReuseIdentifier)
}
if let postCell = cell {
// assign post to the cell
postCell.post = object as! Post?
// setup delegate
postCell.delegate = self
return postCell
}
return nil
}
我需要將對象轉換為Post,但無法弄清楚如何。 我目前收到此錯誤:
無法將類型'PFObject'(0x10c856ef8)的值強制轉換為'MyApp.Post'(0x10c855670)。
首先,您需要通過注冊實例來確保自己正確地將PFObject
子類化。 同樣,您正在嘗試的沮喪是不可能的。 您不能將基類的實例轉換為派生類的實例,除非它只是作為基類存儲的派生實例。
我工作了。 子類必須具備以下條件:
將此添加到您的橋接頭中:
#import <Parse/PFObject+Subclass.h>
建立課程:
class MyClass: PFObject, PFSubclassing {
static func parseClassName() -> String {
return "MyParseClass"
}
}
重要說明:確保在parseClassName()
返回的類名稱與您在Parse.com上創建的類的名稱完全匹配。
在AppDelegate:application:didFinishLaunchingWithOptions中注冊子類:
MyClass.registerSubclass()
您現在應該可以將PFObject強制轉換為您的類。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.