2017-04-14 42 views
1

我想從Heroku/Parse服務器中刪除username = usernameSelected的行。選擇的用戶名不是零,並且存在於服務器上。沒有什麼看起來是錯的,只有「找不到對象」而不是刪除整行。爲什麼在Heroku/Parse中快速返回錯誤「Object not found」?

let query = PFQuery(className: "Requests") 

query.whereKey("username", equalTo: usernameSelected) 
query.limit = 1 
query.findObjectsInBackgroundWithBlock({ (objects, error) in 
    if error != nil { 
    }else { 
     if let objects = objects { 
      for obj in objects { 
       obj.deleteInBackgroundWithBlock({ (success, error) in 
        activityIndicator.stopAnimating() 

        UIApplication.sharedApplication().endIgnoringInteractionEvents() 

        if error != nil { 
         self.alertDisplay("Error", message: error?.userInfo["error"] as! String) 
        }else { 
         self.alertDisplay("", message: "Styles Submitted..! Please wait for your next Style") 
        } 
       }) 
      } 
     } 
    } 
}) 
+0

哪個程序塊出錯? findObjects ...或deleteInBackground ...?如果第二個,你是否得到了你刪除的所有對象? –

+0

只是一個念頭:你如何在這個類/對象上設置ACL? – toddg

+0

+ Lou Franco:deleteInBackground塊,它在對象確實存在時返回一個錯誤(找不到對象)。 – aijayy

回答

0
  1. 確保您已經閱讀並寫權限類

  2. 的刪除可能失敗,因爲在您的類中創建行的ACL只擁有讀取權限。要允許讀取和方法下寫的權限,在你的AppDelegate「didFinishLaunchingWithOptions」你會看到線

讓defaultACL = PFACL();

//如果您希望默認情況下所有對象都是私有的,請刪除此行。 defaultACL.getPublicReadAccess =真

添加行--- defaultACL.getPublicWriteAccess =真

這將幫助您創建寫權限的所有行,以便在將來你可以刪除客戶端的對象。

相關問題