我有一个名为Attendee
的类,它继承自PFObject
。我还有另一个名为Speaker
的班级,它是Attendee
的孩子。
以下是Attendee
&的定义。 Speaker
class Attendee: PFObject, PFSubclassing {
override class func initialize() {
var onceToken : dispatch_once_t = 0;
dispatch_once(&onceToken) {
self.registerSubclass()
}
}
class func parseClassName() -> String {
return "Attendee"
}
}
class Speaker: Attendee {
override class func initialize() {
var onceToken : dispatch_once_t = 0;
dispatch_once(&onceToken) {
self.registerSubclass()
}
}
}
在使用任何解析功能之前,我在applicationDidFinishLaunch
方法中注册了两个:
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
Speaker.initialize()
Attendee.initialize()
Parse.setApplicationId(ObjectManager.appID, clientKey: ObjectManager.clientKey)
...
}
但是,当我稍后尝试在我的代码中使用Attendee
和Speaker
类时,我收到此错误:
The class MedConf.Attendee must be registered with registerSubclass before using Parse.
触发错误的代码是:
var attendee = Attendee()
我不明白为什么会发生这种情况,因为在我对它们做任何事情之前我都清楚地注册了这两个子类。
答案 0 :(得分:0)
我敢打赌,你可以将实现PFSubclassing协议的任何类子类化。尝试制作扬声器它自己的类,并使用Parse中的关系API建立关系。如果您需要资源来构建关系数据,请在此处查看。 https://www.parse.com/docs/ios/guide#objects-relational-data