Ios 如何通过PFQuery从Parse中删除对象
仅当对象属于当前用户且RequestResponsed不等于true时,我才尝试通过swift从类UserRequests中删除对象。但是,我在Ios 如何通过PFQuery从Parse中删除对象,ios,swift,parse-platform,Ios,Swift,Parse Platform,仅当对象属于当前用户且RequestResponsed不等于true时,我才尝试通过swift从类UserRequests中删除对象。但是,我在objects.deleteInBackground()中得到一个错误,当我删除这一行时,该函数仍然不起作用 func deleteRequest(){ let check = PFQuery(className: "UserRequests") check.whereKey("requestResponded", equalTo: "T
objects.deleteInBackground()
中得到一个错误,当我删除这一行时,该函数仍然不起作用
func deleteRequest(){
let check = PFQuery(className: "UserRequests")
check.whereKey("requestResponded", equalTo: "True")
let query = PFQuery(className: "UserRequests")
query.whereKey("username", equalTo: (PFUser.currentUser()?.objectForKey("username") as! String))
query.findObjectsInBackgroundWithBlock({ (objects, error) -> Void in
if objects != nil && error == nil{
// Successfully retrieved the object
check.getFirstObjectInBackgroundWithBlock {
(object: PFObject?, error: NSError?) -> Void in
if error != nil || object == nil {
print("Not accepted.")
object!.deleteInBackground()
objects.deleteInBackground()
} else {
print("Successfully retrieved the object.")
}
}
}else{
self.performSegueWithIdentifier("requestAccepted", sender: self)
}
})
}
这是因为对象是对象的列表。您应该只按1删除对象1 例如:
for object in objects {
object.deleteInBackground()
}
另外,因为两个查询属于同一个类。我建议使用1个查询
更新
func deleteRequest(){
let query = PFQuery(className: "UserRequests")
// the key "requestResponded" is not True
query.whereKey("requestResponded", equalTo: "False")
// for deleting the object is that it belongs to the current user
query.whereKey("username", equalTo (PFUser.currentUser()?.objectForKey("username") as! String))
query.findObjectsInBackgroundWithBlock({ (objects, error) -> Void in
if error != nil{
print(error)
}
// objects are those the key "requestResponded" is not True and belongs to the current user
for object in objects {
object.deleteInBackground()
}
// other case
if objects.count == 0 { // no match result found
}
})
}
我想你还是错过了什么时候表演segue的条件谢谢。如何使用1查询进行此操作?首先,您需要考虑一些条件,例如删除对象的条件是什么?执行segue的条件是什么?还有别的情况吗?好的。如问题中所述,删除对象的条件是它属于当前用户,并且键“RequestResponsed”不正确。完美,它可以工作!非常感谢你!我刚刚意识到在这个特殊的函数中不需要segue。再次感谢你。