因此,当Parse本地数据存储在iOS中引入并快速添加了几个功能时,我很高兴。在一个地方,我使用
保留某些对象集合[Spot pin]
FYI Spot是PFObject的子类。 现在,我打开另一个屏幕,我刚才持有的那个对象是PFQuery结果的一部分,但是我一直有异常:
[PFObject name]:无法识别的选择器发送到实例0x7fd2716422e0
在这种情况下,Parse看起来正在引用固定对象作为其文档说明:
启用后,只有一个给定PFObject的实例。 例如,假设您有一个“GameScore”类的实例 使用objectId为“xWMyZ4YEGZ”,然后为所有人发出PFQuery 具有该objectId的“GameScore”实例。结果将是 你已经拥有的对象的相同实例。
但是我的子类认为它只是一个PFObject ...有什么方法可以解决它吗?
答案 0 :(得分:1)
自己想出这个。事实证明你必须在子类 BEFORE 上调用registerSubclass方法,你甚至用它的AppId和clientKey初始化Parse并启用localDataStore。所以代码应该看起来:
[Spot registerSubclass];
[Parse setApplicationId:@"XXX" clientKey:@"XXX"];
[Parse enableLocalDatastore];
答案 1 :(得分:0)
...在调用setApplicationId之前调用[Parse enableLocalDatastore]:clientKey:
- (void)application:(UIApplication *)application didFinishLaunchWithOptions:(NSDictionary *)options {
[Parse enableLocalDatastore];
[Parse setApplicationId:@"parseAppId" clientKey:@"parseClientKey"];
}
https://www.parse.com/docs/ios/guide#local-datastore-pinning
并在您的Spot子类的.m中:
+ (void)load{
[self registerSubclass];
}