我在Xcode 7.2上使用解析而我在使用swift更新对象时遇到问题。我想在解析类列中更新我的布尔值"批准"我的班级名称是"请求"我有" FromUserName"列类型为String和" ToUsername"也是String的列
这是我在swift中的代码
func block(){
let name = self.userDelName
let query = PFQuery(className: "Request")
//let username = PFUser.currentUser()?.username!
if let username = PFUser.currentUser()?.username! {
query.whereKey("ToUsername", equalTo: username)
}
query.whereKey("FromUsername", equalTo: name)
print(name+" IMHEHEHEHEHERRRR")
query.getFirstObjectInBackgroundWithBlock{(object,error) -> Void in
if error == nil {
print(object)
object!["Approve"] = false
object!.saveInBackgroundWithBlock {(success: Bool, error: NSError?) -> Void in
if (success) {
print("success")
} else {
print("down")
print(error)
}
}
}
}
}
,错误是
[Error]: object not found for update (Code: 101, Version: 1.11.0)
我现在不知道该怎么做。
感谢任何帮助。谢谢
编辑:这是我保存的方法
requested = PFObject(className: "Request")
requested!["From"] = PFUser.currentUser()
requested!["FromUsername"] = PFUser.currentUser()?.username
requested!["ToUsername"] = user
requested!["To"] = newFriend
requested!["Approve"] = true
requested!.saveInBackgroundWithBlock {(success: Bool, error: NSError?) -> Void in
if error == nil {
print("success")
}
else{
print(error)
}
}
答案 0 :(得分:0)
尝试将保存代码更改为:
storageEvent.key //check if 'fbstatus'
storageEvent.storageArea // the storage object
storageEvent.oldValue
storageEvent.newValue
该行:
requested = PFObject(className: "Request")
requested!["From"] = PFUser.currentUser()
requested!["FromUsername"] = PFUser.currentUser()?.username
requested!["ToUsername"] = user
requested!["To"] = newFriend
requested!["Approve"] = true
requested.ACL?.setPublicWriteAccess(true)
requested!.saveInBackgroundWithBlock {(success: Bool, error: NSError?) -> Void in
if error == nil {
print("success")
}
else{
print(error)
}
}
将设置它,以便任何人都可以编辑到该对象。这可能不是你想要的。还有其他方法可以允许某人写一个对象。您可以根据自己的需要以及Parse后端的配置方式使用它们:
ACL?.setPublicWriteAccess(true)
另请注意,这不适用于解析中的当前对象。仅适用于添加setWriteAccess方法后保存的对象。如果要在parse中编辑当前对象,则必须手动更改数据库本身的读写权限。