如何将我的所有用户添加到Parse.com中的角色?

时间:2015-02-24 11:50:46

标签: ios parse-platform roles

我有一个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角色时,我找不到我角色中列出的任何用户。任何人都可以帮助我吗?

1 个答案:

答案 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