我有一個名爲Attendee
的類,它繼承自PFObject
。我還有另外一個叫Speaker
的班,它是Attendee
的子班。PFObject的子類的子類沒有被註冊
下面是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()
我不明白爲什麼會這樣,因爲我清楚地註冊兩個子類之前,我做他們什麼。