我正在尝试将本地数据存储与 iOS 一起使用。
假设我有两个或更多设备。
我使用 saveEventually 将数据保存在本地(和云上)。仅在一台设备上工作时,它可以正常工作。
当我开始使用多个设备时,要同步我使用:
PFQuery *query = [UserPreference query];
[query whereKey:@"userId" equalTo: [PFUser currentUser].objectId];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error){
if(!error){
[UserPreference pinAllInBackground:objects block:^(BOOL succeeded, NSError *error) {<---- objects here are fine
if(succeeded){
[query fromLocalDatastore];
NSLog(@"Local %@", [(UserPreference*)[[query findObjects] objectAtIndex:0] filterContext ]); <--- however here the old value is retrieved
}
}];
}
}];
因此,我从云中获取了适当的对象,然后我 PinAll,但是当我从 localDataStore 检索旧值时检索到旧值?
谁能解释一下:1.如果这完全可行,即使用本地数据存储在两个设备之间同步 2.我做错了什么?
PS:我注意到对象中的 serverData 包含正确的信息但不更新对象