如何在 Parse 中获取对象 ID

How to get the Object ID in Parse

我试图在后台找到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)
                }

            })

        }

这个 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或来自 parse.

的默认 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.

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