我有一个Parse PFObject的子类PFObject定义为(没有详细信息):
@interface A : PFObject <PFSubclassing>
@end
@implementation A
+ (void)load {
[self registerSubclass];
}
+ (NSString *)parseClassName {
return NSStringFromClass([self class]);
}
@end我需要一个子类B of A,定义为
@interface B : A <PFSubclassing>
@end
@implementation B
+ (void)load {
[self registerSubclass];
}
+ (NSString *)parseClassName {
return NSStringFromClass([self class]);
}
@endA和B在AppDelegate中注册
[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方法时,就会得到一个错误registerSubclass。
当我还省略了子类A的A方法和AppDelegate中对[A registerSubclass]的调用时,这个应用程序似乎还能工作。
所以我的问题是:
只在最低级别的<PFSubclassing>、+ (NSString *)parseClassName、+ (void)load上使用子类并在AppDelegate中注册它是正确的吗,或者哪种方法是正确的?
发布于 2015-01-29 06:26:04
回答我自己的问题;也许这对其他人有帮助(我已经使用了以下设置2周,而且一切似乎都很好):
如果有PFObject子类的子类,则只能针对层次结构中最低的子类执行以下操作:
PFSubclassing实现+(void)load和+(NSString *)parseClassNamehttps://stackoverflow.com/questions/27938606
复制相似问题