我收到错误“错误:找不到更新的对象(代码:101,版本:1.2.9)”
有人告诉我,当当前用户没有写入相关对象的权限时,通常会返回此错误。“
请帮助我确保我理解ACL。我的代表中有以下代码:
PFACL *defaultACL = [PFACL ACL];
[defaultACL setPublicReadAccess:YES];
[PFACL setDefaultACL:defaultACL withAccessForCurrentUser:YES];
(1)这也意味着对于我在当前会话期间创建的任何PFObject,只有当前用户才能对该对象进行更改,除非我通过当前用户的会话指定其他允许的用户写访问?
(2)我将使用以下代码(来自解析文档)做什么?
PFObject *groupMessage = [PFObject objectWithClassName:@"Message"];
PFACL *groupACL = [PFACL ACL];
// userList is an NSArray with the users we are sending this message to.
for (PFUser *user in userList) {
[groupACL setReadAccess:YES forUser:user];
[groupACL setWriteAccess:YES forUser:user];
}
groupMessage.ACL = groupACL;
[groupMessage saveInBackground];
(3)现在假设我有一个全新的PFUser,我希望能够在当前会话期间编辑现有的PFObject,但是谁不包含在该现有对象的ACL中。如何让该用户编辑对象?我是否必须使用云代码将他添加到ACL列表中?一个代码示例将不胜感激。
谢谢。
答案 0 :(得分:0)
答案 1 :(得分:-1)
使用createWithoutData设置引用的对象帮助我解决了这个问题。
myObject.put("item", ParseObject.createWithoutData(<SUB CLASS>.class, <Your object item>));
myObject.saveInBackground();