如何实现 PFObject 子类的子类



我有一个解析PFObject的子类A定义为(详细信息省略):

@interface A : PFObject <PFSubclassing>
@end
@implementation A
+ (void)load {
    [self registerSubclass];
}
+ (NSString *)parseClassName {
    return NSStringFromClass([self class]);
}
@end

我需要一个子类 BA ,定义为

@interface B : A <PFSubclassing>
@end
@implementation B
+ (void)load {
    [self registerSubclass];
}
+ (NSString *)parseClassName {
    return NSStringFromClass([self class]);
}
@end

AB

[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 parseClassName]: unrecognized selector sent to class调用AregisterSubclass方法时会出现错误。
当我还省略子类A+ (void)load方法以及AppDelegate中对[A registerSubclass]的调用时,该应用程序似乎可以工作。

所以我的问题是:

仅用于最低级别的子类是否正确 <PFSubclassing>+ (NSString *)parseClassName+ (void)load ,并在 AppDelegate 中注册它,或者哪种方法是正确的?

回答我自己的问题; 也许这对其他人有帮助(我现在已经使用以下设置2周了,一切似乎都很好):

如果一个人有PFObject子类的子类,则只有对于层次结构中最低的子类,才需要执行以下操作:

  • 在应用程序委托中注册它
  • 采用PFSubclassing并实施+(void)load+(NSString *)parseClassName

最新更新