2016-10-03 27 views
0

我正在使用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,但現在正在接收日誌中的錯誤(不會使應用程序崩潰)「[Error]:Object not found」。該對象肯定在DB中,並且其中的關鍵字equalTo:已被充分描述...(goingToSelectionID實際上是DB中的objectId ......通過打印到日誌中進行檢查)。不知道什麼是錯的?

回答

1

的findObjectsInBackground方法不返回類型PFObject,但[PFObject],這是PFObjects數組...如果你想刪除整個陣列,您可以使用類方法的結果deleteAllInBackground像這樣:

PFObject.deleteAllInBackground(objectt, block: nil) 

或者您也可以通過遍歷數組:

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

我編輯與固定的語法問題。這個調用有效,但現在我收到另一個錯誤...告訴我該對象沒有找到(儘管whereKey中的變量是'equalTo:',肯定與DB中的'objectId'匹配)。有任何想法嗎? –

+0

因此,數組中的對象都沒有被刪除? –

+0

不,我在這裏發佈了關於該問題的另一個問題(因爲它是相關的,但提出了另一個問題):http://stackoverflow.com/questions/39844324/why-does-user-not-have-permission-to-刪除對象 - 在 - 解析服務器-DB-儘管公頃 –

相關問題