如何在Parse

时间:2015-09-04 01:37:48

标签: ios swift parse-platform pfobject

我试图在后台找到objectID,这样我就可以在后台成功取消固定并删除对象。但是,objectID由于某种原因返回了一个nil值,从而导致应用程序崩溃。

这是一些代码 -

(imagesToDelete是PFFile数组)

      for object in imagesToDelete
      {
            var imageObject = PFObject(className: "img")
            imageObject["theImg"] = object
               //Object ID Returns nil
             var objID = imageObject.objectId

            //fatal error: unexpectedly found nil while
            imageObject.removeObjectForKey(objID!)
            imageObject.unpinInBackgroundWithBlock({ (success, error) -> Void in
                if error == nil
                {
                    imageObject.deleteEventually()
                    println("Objects deleted!")
                } 
               else 
                {
                    println(error)
                }

            })

        }

1 个答案:

答案 0 :(得分:0)

var objID = imageObject.objectId 将永远不会起作用,因为imageObject是PFObject的一个实例,因此您只能使用该对象保存特定的id或使用parse提供的默认objectID。 例如:

 // let's save an object using a specific id                
   var savingObject = PFObject(classname:"")
   savingObject["id"] = 123213
   // then you save this object to parse

在删除该对象时,您必须使用 PFQuery 在后台查询该对象,然后您可以获取我们的特定 ID 或默认ID objectId 来自解析。

示例:

   // let's query and delete that object         
      var query = PFQuery(classname:"")
      query.whereKey("id", equalTo:123213)
      // then you use that findObjectInBackgroundWithBlock() method then delete the object.

即使您在本地保存,您也几乎使用相同的概念希望有所帮助。