Ответ 1
Вам нужно инициализировать переменную перед ее использованием в закрытии:
Если вы используете закрытие для инициализации свойства, помните, что остальные экземпляра еще не была инициализирована в точке, что закрытие выполнено. Это означает, что вы не можете получить доступ к другим значения свойств из вашего закрытия, даже если эти свойства имеют значения по умолчанию. Вы также не можете использовать неявное свойство self, или вызвать любой из методов экземпляров.
Команда 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, 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
}