请帮帮我。我正在使用社交网络应用程序。我想创建PFObject“组”。用户可以关注它。但只有其他参与者可以将其他用户添加为成员。
据我所知,我可以使用PFRelation类开发以下功能。 但请告诉我,如何将其他用户添加到组中来开发功能?用户是受保护的类,因此我无法将PFRelation添加到其他用户。因此,只有一种方法是将用户添加到另一个用户的组中,是指针的创建数组?
有什么想法?感谢
答案 0 :(得分:1)
因此,您希望在用户和组之间创建多对多关系,并且只有已经是给定组成员的用户才能将新用户添加到该组中吗?
如果是这样,我会怎么做......
创建群组
// Create the group and add its creator as the sole group member
PFUser * user = [PFUser currentUser];
PFObject * group = [[PFObject alloc] initWithClassName:@"Group"];
PFRelation * members = [group relationForKey:@"members"];
[members addObject:user];
// Set an ACL so that the group is visible but only the
PFACL * acl = [PFACL ACL];
[acl setPublicReadAccess:true];
[acl setWriteAccess:true forUser: user];
group.ACL = cal
添加新的群组成员
PFUser * member = [PFUser currentUser];
PFUser * candidate = ...; // not yet a member
PFObject * group = ...; // The group candidate wants to join
PFRelation * members = [group relationForKey:@"members"];
[members addObject:candidate];
[group.ACL setWriteAccess:true forUser:candidate];
在步骤2中,成员是组的成员,因此具有添加新用户候选者所需的写入权限。 在第2步之后,候选人现在是一名正式成员,并获得了对该组的写入权限。
但是我没有测试过这个: - 关系"是否继承"来自该组的ACL?或者任何可以阅读该组的人都可以访问该关系,然后将自己添加到该组中?
同样难以区分成员之间的角色。我认为现在任何成员都可以决定删除该组......
您可能最好在应用程序级别执行规则。