2

现在,我的应用程序中的“朋友”组件列出了每个注册该应用程序的用户。然后,用户 A 可以添加任意数量的朋友并与他们互动。

我想要做的是允许用户 A 向这些用户发送请求,以便用户 B、用户 C 等可以接受或拒绝与用户 A 交互的请求。

有没有人成功做到这一点?

关于如何解决这个问题的任何提示/建议/教程?

谢谢!

编辑:

这是我尝试过的。

我有一个名为 Friendship 的新课程,其中包含:

toUser - 指向 User 类

fromUser - 指向 User 类

状态 - 字符串

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];
    }

对象没有返回任何东西。

4

1 回答 1

10

我会建议一个FriendRequest类如下:

Class: FriendRequest
fromUser (pointer:User)
toUser (pointer:User)
status (string)

您的操作分为以下几部分:

  • 显示我发送的待处理请求
  • 显示等待我批准/拒绝的请求
  • 批准请求
  • 拒绝请求
  • 发送好友请求
  • 取消用户好友

显示挂起的请求将是对“挂起”的当前用户所在的FriendRequest类进行查询。fromUserstatus

显示等待操作的请求将是对“待定”当前用户所在FriendRequest类的查询。toUserstatus

批准请求意味着将FriendRequest记录更新status为“已批准”并将每个用户添加到其他朋友列表(可能是 User 类上的关系字段)。

拒绝请求意味着将FriendRequest记录更新status为“拒绝”。

无论. fromUser_ toUser_ fromUser_ toUser_ status如果存在现有记录,则不允许其他请求(除非您想为此设置一些规则,例如可以在 30 天后发送新请求,这需要存储最后一个请求日期)。如果没有找到记录,则创建一条FriendRequest带有status“待定”的新记录。

Un-friending 将意味着从彼此的朋友关系中删除用户,并将其更新FriendRequest.status为“unfriended”。

如果您添加查看拒绝/非好友记录的功能,则会获得奖励积分。

于 2013-08-12T04:09:37.407 回答