从Swift中的另一个类访问ViewController类

时间:2015-06-16 12:57:15

标签: ios xcode swift uitableview

我是iOS开发的新手,

我有“API Helper”Swift类,它将一些数据作为JSON数组获取。当数组准备就绪时,我想在我的MasterViewController中调用一个方法,用数据更新tableView。

我试着这样做:

var facilities : [Facility]? {
        didSet {

            MasterViewController().facilitiesLoaded()
        }
    }

然后重新加载tableView但没有看到任何内容。

我认为问题是我正在创建一个ViewController的新实例,但我应该拥有访问该类的当前实例的权限。

任何想法,或更好的设计?感谢..

2 个答案:

答案 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
        })
    }