我无法使用objectId删除解析数据

时间:2015-10-19 04:13:24

标签: swift parse-platform

我正在实施删除帖子功能。我使用prepare segue myTableView传递PFObject(在代码中显示为对象)来详细查看包含删除功能的视图。我尝试使用PFOBJECT的objectId删除帖子,因为这是唯一的,并且在选择时从原始帖子传递。这是我的代码,

@IBAction func deleteButtonTapped(sender: AnyObject) {

let query = PFObject(className:"Posts")

let tryToDeleteThisObjectId = object.objectId

query.objectId = tryToDeleteThisObjectId

query.deleteInBackground()

但是当我激活我的应用时,我收到错误

  

'NSInternalInconsistencyException',原因:'尝试将objectId更改为OfflineStore已知的对象。

我理解对象是作为离线传递的,所以我尝试在tableView中保存objectId来传递detailView,它工作正常。但是我不希望用户为此使用额外的蜂窝数据,我想找到更简单的方法来解决这个问题。

我的问题是

如何在没有此错误的情况下从PFobject获取objectId?

如果我不能,是否有其他方法可以删除特定帖子(解析中的数据行)?

请提供示例代码。

1 个答案:

答案 0 :(得分:0)

所以,问题是你不能在查询上调用delete。你必须在PFObject上调用它。如果您想进行查询,请尝试此操作。

let query = PFQuery(className: "Class")
query.getObjectInBackgroundWithId("OBJECT_ID") { (obj, err) -> Void in
      if err != nil {
         //handle error
      } else {
          obj!.deleteInBackground()
     }
}

但是,在您的代码中,我还看到您调用object.id,在这种情况下,您只需调用object.deleteInBackground()即可删除该对象。