我是iOS开发的新手,
我有“API Helper”Swift类,它将一些数据作为JSON数组获取。当数组准备就绪时,我想在我的MasterViewController中调用一个方法,用数据更新tableView。
我试着这样做:
var facilities : [Facility]? {
didSet {
MasterViewController().facilitiesLoaded()
}
}
然后重新加载tableView但没有看到任何内容。
我认为问题是我正在创建一个ViewController的新实例,但我应该拥有访问该类的当前实例的权限。
任何想法,或更好的设计?感谢..
答案 0 :(得分:1)
如果这"设施"变量是MasterViewController的实例然后执行:
var facilities : [Facility]? {
didSet {
self.facilitiesLoaded()
}
}
答案 1 :(得分:1)
感谢@dcestari,
我确实在API调用中添加了回调块,并在ViewController中处理了它并完成了这个技巧
在API调用方法中:
func loadFacilities(completionHandler:(() -> Void!)) {
// do stuff
completionHander()
}
在ViewController中:
func getFacilities() {
api.loadFacilities({
// update tableView
})
}