1
オブジェクトが現在のユーザーに属し、そのrequestRespondedがtrueに等しくない場合のみ、クラスUserRequestsからオブジェクトを削除しようとしています。しかし、objects.deleteInBackground()
にエラーがあり、この行を削除しても機能が動作しません。PFQueryを介してParseからオブジェクトを削除する方法
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クエリ
UPDATE
を使用してお勧めします。これに対して1つのクエリを使用するにはどうすればよいですか? –
まず、オブジェクトを削除する条件とは何かなどの条件について考える必要があります。 segueを実行するための条件は何ですか?どういう場合? –
よろしくお願いします。この質問で述べたように、オブジェクトを削除する条件は、現在のユーザーに属し、キー "requestResponded"がTrueではないということです。 –