解析unpinFromBackground不起作用

时间:2015-08-06 12:20:12

标签: ios objective-c iphone parse-platform

我目前正在使用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服务器获取数据。我怎样才能解决这个问题?

所有帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

在取消固定之前,您是否有从本地数据存储区获取的原因?我猜测当你最初确定结果时,你会给它起名字" MAINPIN"所以为什么不使用:

  

PFObject.unpinInBackgroundWithName:(" MAINPIN&#34)

然后运行你的"直播"在此之后查询?

此处有更多信息:https://parse.com/docs/ios/api/Classes/PFObject.html#//api/name/unpinInBackgroundWithName

安德鲁