我使用以下类对 PFObject 进行了子类化(动态属性,以及 .m 文件中的 +load 和 parseClassName 方法)
@interface DAOpponents : PFObject <PFSubclassing>
@property (nonatomic, strong) PFObject* fromUser;
@property (nonatomic, strong) PFObject* toUser;
@property (nonatomic) BOOL isVisible;
@property (nonatomic) BOOL isPersistent;
+ (NSString *)parseClassName;
@end
在单元测试中,我尝试创建一个示例 DAOpponents-Object:
DAOpponents* follow = [DAOpponents object];
follow.fromUser = user1; // caught "NSInvalidArgumentException", "PFObject values may not have class: PFUser"
follow.toUser = user2;
[follow save];
如果我在没有对手的子类版本的情况下做同样的事情,那么没有例外
PFObject* follow = [[PFObject alloc] initWithClassName:@"DAOpponents"];
[follow setObject:user1 forKey:@"fromUser"]; // no exception!!!
[follow setObject:user1 forKey:@"toUser"];
为什么子类 PFObject 不能指向 PFUser 对象?
任何帮助表示赞赏!非常感谢!