如何实现PFObject子类的子类?

How to implement subclasses of PFObject subclasses?

我有一个 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

AB

在 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.
中定义 但是如果我这样做,当调用 AregisterSubclass 方法时,我会得到一个错误 +[A parseClassName]: unrecognized selector sent to class
当我还省略了子类 A+ (void)load 方法以及 AppDelegate 中对 [A registerSubclass] 的调用时,应用程序似乎可以正常工作。

所以我的问题是:

只对最底层的子类<PFSubclassing>+ (NSString *)parseClassName+ (void)load注册到AppDelegate中是对的还是哪个方法对去做吗?

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

如果有 PFObject 个子类的子类,仅对于层次结构中最低的子类,则必须执行以下操作:

  • 在AppDelegate中注册
  • 采用PFSubclassing并实施+(void)load+(NSString *)parseClassName