无法查询用户并在Parse中将该用户添加为友谊关系

时间:2014-08-07 02:15:24

标签: ios parse-platform pfquery pfrelation

我正在尝试查询Parse数据库中的用户,并在当前用户和查询用户之间建立友谊。我已经阅读了很多Parse文档和教程,但我仍然无法使其工作。我一直收到warnParseOperationOnMainThread错误,并且我尝试使用Parse推荐的调试实践来解决该错误,但是它打破了我不理解的堆栈中的一些随机代码行。如果你能告诉我什么是错的,或者有其他方法来实现相同的功能,我真的很感激帮助。谢谢!以下是我的查询无效的代码:

- (无效)queryForFriend {     NSString * searchingFriendName = self.addFriendTextField.text;

PFQuery *friendQuery = [PFUser query];
[friendQuery whereKey:@"username" equalTo:searchedFriendName];
friendList = [friendQuery findObjects];
if(friendList.count > 0)
{
    PFUser *newFriend = friendList.lastObject;

    PFRelation *friendship = [[PFUser currentUser] objectForKey:@"friendShip"];
    [friendship addObject:newFriend];
    [[PFUser currentUser] saveInBackground];
}

}

1 个答案:

答案 0 :(得分:1)

[friendQuery findObjects]是一个线程阻塞操作,它将阻止您的主线程,直到网络查询完成。您应该使用findObjectsInBackgroundWith...方法(我忘记它是withBlock还是withCompletion) - 您提供了一个在网络查询完成后将执行的objective-c块(一个闭包),但与此同时您的应用将会继续运作。

如果您还没有,那么通过Apples异步编程概念参考阅读是值得的。