从解析服务器代码中删除对象导致错误?

时间:2016-10-03 16:41:59

标签: swift parse-server

我正在使用swift在Xcode中开发一个应用程序,并使用heroku托管的解析服务器作为我的数据库。我希望能够从数据库中删除一个对象,但在尝试输入代码时我一直收到错误。这就是我所拥有的:

{
        let removingObjectQuery = PFQuery(className: "GoingTo")
        removingObjectQuery.whereKey("objectId", equalTo: goingToSelectionID)
        removingObjectQuery.findObjectsInBackground(block: { (object, error) in
            if let objects = object{
                print("Object found")
                for object in objects{
                        object.deleteInBackground()  
                }
            }
        })
    }

但是删除.deleteInBackground一直在代码行中发送错误,说“.deleteInBackground不是[PFObject]的成员”...除了我认为该值类型的成员?

编辑:语法已修复以允许调用.deleteInBackground但现在在日志中收到错误(不会使应用程序崩溃)“[错误]:找不到对象”。该对象肯定在DB和whereKey equalTo:被充分描述...(goToSelectionID确实是DB中的objectId ...通过打印到日志来检查这一点)。不确定有什么问题?

1 个答案:

答案 0 :(得分:1)

findObjectsInBackground方法不返回PFObject类型的结果,但是[PFObject],它是PFObjects的数组...如果要删除整个数组,可以使用类方法deleteAllInBackground,如下所示:

PFObject.deleteAllInBackground(objectt, block: nil)

或者你可以遍历数组:

for objectt in object! {
    objectt.deleteInBackground()
}