我有一个UserRatings类供用户评价不同的地方。目前,该类具有公共读写ACL。我需要将所有用户添加到一个新角色,以便我可以更改公共读取和写入我的新角色。如何将我的所有用户添加到此角色?此外,如何在注册新用户时更新角色?
我已使用以下代码将所有现有用户添加到课程中。
PFQuery *query = [PFUser query];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
allUsers=objects;
NSLog(@"%@",allUsers);
}];
PFACL *roleACL = [PFACL ACL];
PFRole *role = [PFRole roleWithName:@"UserRatingsRole" acl:roleACL];
for (PFUser *user in allUsers) {
[role.users addObject:user];
}
[role saveInBackground];
我没有给任何儿童角色。这是一个问题吗?当我检查我的Parse角色时,我找不到我角色中列出的任何用户。任何人都可以帮助我吗?
答案 0 :(得分:1)
您需要在服务器上查询Role对象,然后按原样继续。
试试这个:
PFQuery *query = [PFUser query];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
allUsers=objects;
NSLog(@"%@",allUsers);
}];
PFQuery *queryRole = [PFRole query];
[queryRole whereKey:@"UserRatingsRole" equalTo:roleName];
[queryRole getFirstObjectInBackgroundWithBlock:^(PFObject *object, NSError *error) {
PFRole *role = (PFRole *)object;
for (var i = 0; i < allUsers.length; i++) {
role.getUsers().add(allUsers[i]);
}
role.save();
}];
您还可以在此处查看答案:https://parse.com/questions/add-users-to-role