2015-04-24 59 views
1

所以我就遇到了这个错误:不能调用findObjectsInBackgroundWithBlock迅速错误

不能援引“findObjectsInBackgroundWithBlock”与参数列表类型的 “(([AnyObject]! !,NSError) - >无效)”

试图运行此代码:

var userQuery = PFUser.query() 
    userQuery.findObjectsInBackgroundWithBlock({(objects: [AnyObject]!, error: NSError!) -> Void in 


     self.users.removeAll(keepCapacity: true) 

     for object in objects { 
      var user:PFUser = object as PFUser 

      self.users.append(user.username) 
     } 

     self.tableView.reloadData() 


    }) 

我使用的Xcode 6.3,我有没有解决方案?我试过添加“?”代替 ”!” [AnyObject]之后,但似乎没有任何帮助。

+0

self.users.removeAll(:假keepCapacity)工作。如果你不保持容量,那么会发生什么?试试这也self.users = query.findObjects() –

+0

你写的代码是正确的.. –

+0

似乎没有任何工作.. 该代码应该是正确的,不知道为什么它是抛出这个错误在我身上.. – MrFoffoloff

回答

0

这些代码行正常工作:

var losingUserQuery = PFUser.query() 
    losingUserQuery.findObjectsInBackgroundWithBlock { 
     (results: [AnyObject]!, error: NSError!) -> Void in 
     if error == nil && results != nil { 

          self.arrayMyPostsFromParse.removeAll(keepCapacity: false) 

          for usr in results{ 
           var user:PFUser = usr as PFUser 

           self.arrayMyPostsFromParse.append(user.username! as NSString 
          } 

          self.tblUsers.reloadData() 

         } else { 
          println(error) 
         } 
    } 
+0

请确保此数组arrayMyPostsFromParse是类型的字符串 –

+0

它仍然给我那该死的错误,检查clientID和一切似乎是正确的,不知道什么可能是错的。 – MrFoffoloff

+0

请在for循环中重命名“object”。可能会给你错误,因为它是iOS中的预定义词 –

1

事实上,我用它做编码这样

var data: Void? = query?.findObjectsInBackgroundWithBlock({(objects:[AnyObject]?, error:NSError?) -> Void in 
     self.users.removeAll(keepCapacity: true) 

      for object: AnyObject in objects! { 
      var user:PFUser = object as! PFUser 
      self.users.append(user.username!) 
     } 
     self.tableView.reloadData() 
    })