2

テーブルの行のチェックを外すと、Parse からオブジェクトを削除したいと考えています。

この問題は、オブジェクトを照会した後に Parse からオブジェクトを削除しようとすると発生します。

これは私のコードです:

   if  cell.accessoryType == UITableViewCellAccessoryType.Checkmark {
            cell.accessoryType = UITableViewCellAccessoryType.None

            var query = PFQuery(className:"Followers")
            query.whereKey("follower", equalTo: "\(PFUser.currentUser()?.username)")
            query.whereKey("following", equalTo: "\(cell.textLabel?.text)")

            query.findObjectsInBackgroundWithBlock {
                (objects: [AnyObject]?, error: NSError?) -> Void in
                if error == nil {

                    for object in objects as! [PFUser] {

                        object.deleteInBackground()
                    }

                } else {
                    println(error)
                }
            }


        }
4

2 に答える 2

4

問題は query.findObjectsInBackgroundWithBlock にあると思います。オブジェクトを次のように定義しているためだと思います。[PFObject] の代わりに [PFUser]

これを試してみてください

query.findObjectsInBackground { (objects, error) in
        if error == nil,
            let objects = objects {
            for object in objects {
                object.deleteInBackground()
            }
        }
于 2015-10-13T23:33:04.540 に答える
0

パースからオブジェクトを削除したい

はい、Parse iOS SDKでは、 Parse サーバーで一度に複数のオブジェクトをバックグラウンドで削除します。deleteAllInBackgroundを使用できます。

2 つの異なる方法で使用できます。

PFObject.deleteAll(inBackground: [PFObject]?)
PFObject.deleteAll(inBackground: [PFObject]?, block: PFBooleanResultBlock?)

例えば:

query.findObjectsInBackgroundWithBlock({ (objects : [PFObject]?, error: NSError?) -> Void in
    PFObject.deleteAll(inBackground: objects)
})

こちらの投稿もご覧いただけます

私の答えがお役に立てば幸いです

于 2017-05-12T15:41:24.297 に答える