使用两个PFUser对象查询对象时,如何更新Parse中的值?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用两个PFUser对象查询对象时,如何更新Parse中的值?相关的知识,希望对你有一定的参考价值。
我是ios和Parse的新手。现在我正在尝试使用Parse在iOS中创建社交网络应用程序。在我的应用程序中,我正在创建一个允许用户与其他人建立连接的朋友系统。
假设有用户向当前用户发送了请求,并且请求已成功接收。为了确认请求,我使用两个PFUser对象(当前用户[PFUser currentUser]
)和发送请求(PFUser *user1)
的用户查询该类。然后,我将状态从Request更新为Confirm,以便我可以在这两个用户之间建立连接。
这是代码:
PFQuery *connectActivity = [PFQuery queryWithClassName:FriendClass];
[connectActivity whereKey:@"fromUser" equalTo:user1];
[connectActivity whereKey:@"toUser" equalTo:[PFUser currentUser]];
[connectActivity whereKey:@"status" equalTo:@"Request"];
[connectActivity getFirstObjectInBackgroundWithBlock:^(PFObject * _Nullable object, NSError * _Nullable error) {
if (!error) {
[object setObject:@"status" forKey:@"Confirm"];
[object saveInBackground];
}
}];
但是,当我运行代码时,它向我显示Cannot set fromUser on FriendClass to a user other than current user. (Code:141)
的错误,并且它没有任何结果。我没有这个错误的线索。
有人知道它为什么会发生以及如何使其发挥作用?非常感谢!
答案
我愿意打赌你有一个用于FriendClass的beforeSave触发器,它会检查是否来自于User == request.user,如果没有则回吐该错误。您可以将其包装在检查object.dirty("fromUser")
的if语句中
以上是关于使用两个PFUser对象查询对象时,如何更新Parse中的值?的主要内容,如果未能解决你的问题,请参考以下文章