我目前正在使用Parse来保存应用中用户的详细信息。第一次加载ViewController时,将从服务器检索用户数据。当用户离开ViewController时,我使用代码[user pinInBackground]将用户变量保存到本地数据存储区。稍后重新加载ViewController时,将使用本地数据存储区中的数据设置用户变量。这在我的应用程序中正常工作。
但是,当用户离开特定视图控制器时,在返回原始ViewController时,我希望应用程序从服务器而不是本地数据存储区访问数据。为此,我使用代码:
[user fetchFromLocalDatastoreInBackgroundWithBlock:^(PFObject *object, NSError *error) {
[user unpinInBackgroundWithName:@"MAINPIN" block:^(BOOL succeeded, NSError *error) {
[user fetchInBackgroundWithBlock:^(PFObject *object, NSError *error) {
NSLog([NSString stringWithFormat:@"personalHeaderString is equal to %@", user[pfPersonalHeader]]);
}];
}];
}];
NSLog显示代码肯定按预期运行。但是,NSLog还显示数据未取消固定,而应用程序继续使用来自本地数据存储区的数据,而不是像提取应该从Parse服务器获取数据。我怎样才能解决这个问题?
所有帮助表示赞赏。
答案 0 :(得分:0)
在取消固定之前,您是否有从本地数据存储区获取的原因?我猜测当你最初确定结果时,你会给它起名字" MAINPIN"所以为什么不使用:
PFObject.unpinInBackgroundWithName:(" MAINPIN&#34)
然后运行你的"直播"在此之后查询?
此处有更多信息:https://parse.com/docs/ios/api/Classes/PFObject.html#//api/name/unpinInBackgroundWithName:
安德鲁