Я определяю переменную внутри viewWillAppear()
и хотите использовать его в качестве источника данных для моих UITableView
Swift - Как использовать переменную, определенную в viewDidAppear() в табличных методах?
var receivedMessages = [AnyObject]()
override func viewWillAppear(animated: Bool) {
let chatController = ChatController(sender: self.sender, receiver: self.receiver)
// Load messages
chatController.loadMessages() {
(arr) -> Void in
if let responseArray = arr {
self.receivedMessages = responseArray
}
}
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.receivedMessages.count // This is always 0
}
Как прокомментировал UITableView
не всегда ни одной строки. Я знаю, что решение имеет какое-то отношение к обработчику завершения loadMessages()
, но я не знаю, как это сделать правильно.
Вы должны вызвать 'reloadData()' в своем представлении таблицы после того, как вы присвоите 'responseArray'! – luk2302