有人可以确认为了将用户添加到现有角色,该角色需要具有公共读写访问权限吗?
因为这似乎是我可以让它工作的唯一方法?
创建角色的代码(工作正常)
let roleACL = PFACL()
roleACL.setPublicReadAccess(true)
//roleACL.setPublicWriteAccess(true)
let role = PFRole(name: "ClubName", acl:roleACL)
role.saveInBackground()
将用户添加到所述角色的代码(如果将写入权限设置为公共则有效)
let QueryRole = PFRole.query()
QueryRole!.whereKey("name", equalTo: "ClubName")
QueryRole!.getFirstObjectInBackgroundWithBlock({ (roleObject: PFObject?, error: NSError?) -> Void in
if error == nil
{
let roleToAddUser = roleObject as! PFRole
roleToAddUser.users.addObject(user)
roleToAddUser.saveInBackground()
//print(roleObject)
}
else
{
print(error)
//print(roleObject)
}
})
上面的代码有效,但正如我所说,只有当对角色的公共写访问权限设置为 true 时。
这让我现在快疯了
另外,如果该角色旨在具有公共写访问权限,这是否会使其容易受到更改角色的人的影响?
如果该角色不应该具有公共写访问权限,那么有人可以指出我正确的方向以使上述代码正常工作,而无需设置具有公共写访问权限的角色。
如果角色没有公共写访问权限,我得到的错误是: 找不到更新的对象(代码:101,版本:1.8.1)