swift – 被初始化之前由闭包捕获的变量
我正在尝试将查询中的结果数存储到一个整数中,以便我可以使用它来确定表中的行数.但是,我收到以下错误:在初始化之前由闭包捕获的变量’numberOfGames’在行上query.findObjectsInBackgroundWithBlock {.
我还得到另一个错误变量’numberOfGames’在被初始化之前在行上返回numberOfGames. 这是包含两个错误的函数: func tableView(tableView: UITableView,numberOfRowsInSection section: Int) -> Int { var user: PFUser! var numberOfGames: Int //...query code....removed to make it easier to read var query = PFQuery.orQueryWithSubqueries([userQuery,userQuery2,currentUserQuery,currentUserQuery2]) query.findObjectsInBackgroundWithBlock{ (results: [AnyObject]?,error: NSError?) -> Void in if error != nil { println(error) } if error == nil{ if results != nil{ println(results) numberOfGames = results!.count as Int } } } return numberOfGames }
您需要在使用它之前初始化变量:
As per apple documentation
命令var numberOfGames:Int只是声明它初始化你可以使用var numberOfGames = Int()或var numberOfGames:Int = 0 func tableView(tableView: UITableView,numberOfRowsInSection section: Int) -> Int { var user: PFUser! var numberOfGames:Int = 0 var query = PFQuery.orQueryWithSubqueries([userQuery,error: NSError?) -> Void in if error != nil { println(error) } if error == nil{ if results != nil{ println(results) numberOfGames = results!.count as Int } } } return numberOfGames } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |