Я пытаюсь реорганизовать функцию, чтобы она была доступна по всему миру. В конце функции необходимо перезагрузить UITableView
. Я думал о прохождении ОК, но я все еще получаюSwift 3/Как вызвать tableView.reloadData() в глобальной функции?
Значения типа «UIViewController» не имеет ни одного члена «Tableview»
Я знаю, что я получаю эту ошибку, потому что Tableview не является частью UIViewController
по умолчанию, но как его обходить?
func downloadAvatar(_ userForAvatar: String, vc: UIViewController) {
let whereClause = "objectId = '\(userForAvatar)'"
let dataQuery = BackendlessDataQuery()
dataQuery.whereClause = whereClause
let dataStore = backendless?.persistenceService.of(BackendlessUser.ofClass())
dataStore?.find(dataQuery, response: { (users : BackendlessCollection?) in
let withUser = users?.data.first as! BackendlessUser
let imgURL = withUser.getProperty("Avatar") as? String
avatare.setValue(imgURL, forKey: userForAvatar)
vc.tableView.reloadData() // problem here
}) { (fault : Fault?) in
print("error: \(fault)")
}
}
Справка очень приветствуется.
по крайней мере, прокомментировать? –
Зачем вам это глобальная функция? – Alexander
, потому что я вызываю ту же самую функцию в 3-4 разных диспетчерах просмотров. –