2017-04-14 82 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 =真

这将帮助您创建写权限的所有行,以便在将来你可以删除客户端的对象。

相关问题