现在,我的应用中的“朋友”组件会列出已注册该应用的每个用户。然后,用户A可以根据需要添加任意数量的朋友并与他们进行交互。
我想要做的是允许用户A向这些用户发送请求,以便用户B,用户C等可以接受或拒绝与用户A交互的请求。
有没有人成功完成这项工作?
有关如何处理此问题的任何提示/建议/教程?
谢谢!
编辑:
这是我尝试过的。
我有一个名为Friendship的新课程,其中包含:
toUser - 指向User类
fromUser - 指向User类
status - string
PFQuery * query = [PFQuery queryWithClassName:@"Friendship"];
[query whereKey:@"toUser" equalTo:[PFUser currentUser]];
[query whereKey@"status" equalTo:@"pending"];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
if (error)
{
//NSLog error
}
else {
self.followingArray = objects;
[self.myTableView reloadData];
}
对象没有返回任何内容。
答案 0 :(得分:10)
我建议如下FriendRequest
课程:
Class: FriendRequest
fromUser (pointer:User)
toUser (pointer:User)
status (string)
您的操作分为以下几部分:
显示待处理请求的问题是对FriendRequest
类进行查询,其中fromUser
是status
为“待定”的当前用户。
显示等待操作的请求将是针对FriendRequest
类的查询,其中toUser
是status
为“待定”的当前用户。
批准请求意味着更新FriendRequest
记录以获得status
“已批准”并将每个用户添加到其他朋友列表(可能是User类中的关系字段)。
拒绝请求意味着更新FriendRequest
记录,使status
为“拒绝”。
发送好友请求会检查是否有任何现有记录fromUser
是当前用户且toUser
是目标,或fromUser
是目标{{1无论toUser
如何,都是当前用户。如果存在现有记录,则不允许其他请求(除非您要设置一些相关规则,例如可以在30天后发送新请求,这将需要存储最后一个请求日期)。如果未找到任何记录,请使用status
“待定”创建新的FriendRequest
记录。
非友好意味着将用户从彼此的朋友关系中移除,并将status
更新为“无朋友”。
如果您添加查看拒绝/未记录记录的功能,则会获得积分。