我第一次使用Parse(parse.com)使用Xcode和Swift 3.当我尝试从云中删除一个对象时,它不会更新,我收到以下消息:
[Error]: Object not found. (Code: 101, Version: 1.12.0)
在我的代码的其他部分,删除对象工作得很好,但在这种情况下它不是。这也很奇怪,因为当我从查询(下面)打印请求时,我确实得到了一个对象,我正在寻找的对象。我试过用块调用delete方法并得到相同的“找不到对象”错误。而且我确保数据库中的课程已经阅读并且如果有任何帮助,则启用写入权限。
这是我的代码:
let query = PFQuery(className: "FriendRequests")
query.whereKey("fromID", equalTo: self.incomingIDs[indexPath.row])
query.whereKey("toID", equalTo: PFUser.current()?.objectId)
query.getFirstObjectInBackground(block: { (object, error) in
if error == nil {
if let request = object {
print(request) // This works!
request.deleteInBackground()
}
}
})
提前谢谢。
答案 0 :(得分:0)
我回过头来发现这只是ACL的一个问题,如果有人有类似的问题......
首次创建对象时,只有发出请求的用户才具有写访问权限。在保存请求对象之前,我将写访问权限设置为public。
let acl = PFACL()
acl.getPublicReadAccess = true
acl.getPublicWriteAccess = true
friendRequest.acl = acl