【发布时间】:2015-01-14 08:29:25
【问题描述】:
我有一个 Parse PFObject 的子类 A 定义为(省略细节):
@interface A : PFObject <PFSubclassing>
@end
@implementation A
+ (void)load {
[self registerSubclass];
}
+ (NSString *)parseClassName {
return NSStringFromClass([self class]);
}
@end
我需要A 的子类B,定义为
@interface B : A <PFSubclassing>
@end
@implementation B
+ (void)load {
[self registerSubclass];
}
+ (NSString *)parseClassName {
return NSStringFromClass([self class]);
}
@end
A 和 B 是由
[A registerSubclass];
[B registerSubclass];
我不确定这是否是定义PFObject的子类的正确方法:
https://www.parse.com/questions/what-does-this-error-mean-subclasses-of-subclasses-may-not-have-separate-parseclassname-definitions 建议不要在子类A 中定义+ (NSString *)parseClassName,只能在子类B 中定义。
但是如果我这样做,当调用A 的registerSubclass 方法时,我会收到错误+[A parseClassName]: unrecognized selector sent to class。
当我还省略了子类A 的+ (void)load 方法以及AppDelegate 中对[A registerSubclass] 的调用时,该应用程序似乎可以工作。
所以我的问题是:
是否正确,仅用于最底层的子类<PFSubclassing>,+ (NSString *)parseClassName,+ (void)load,并在AppDelegate中注册,或者哪种方法是正确的?
【问题讨论】:
标签: parse-platform subclassing