@sportredwhite

Почему в замыкание не переписывается значение?

Подскажите плз, почему amountGame равно nil?

class MyGameTVC: UITableViewController {

    var currentUser: FIRUser!
    var ref: FIRDatabaseReference!
    var amountGame: Int!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        currentUser = FIRAuth.auth()?.currentUser
        
        ref = FIRDatabase.database().reference().child("users/\(currentUser.uid)/idMyGame")
        
        ref.observeSingleEvent(of: .value, with: {  snapshot in
            if let dict = snapshot.value as? [String: AnyObject] {
                self.amountGame = dict.count
            }
        })
        
        print(amountGame) // ?
        
    }
}
  • Вопрос задан
  • 228 просмотров
Пригласить эксперта
Ответы на вопрос 1
ManWithBear
@ManWithBear
Swift Adept, Prague
Потому что Optional инициализируется по дефолту со значением nil.
Почему оно не меняется в кложуре? Скорее всего оно асинхронное и выполняется после вашего принта
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы