【发布时间】:2014-12-13 00:50:43
【问题描述】:
我编写了一个函数来进行 Web 服务调用,获取一些 JSON,用数据形成一个数组,并在完成时在闭包中返回它。我是这种语法的新手,但编译器说它是正确的,所以我假设它是正确的。
class APIHelper: NSObject {
func getArticles(completion: (result: NSArray, error: NSError)->()) {
}
}
我的问题是,我不知道如何调用这个方法。当我尝试时,自动完成不会显示我的完成关闭。相反,它的行为就像我应该将该方法传递给它在 (APIHelper) 中声明的类的实例。
//View Controller
override func viewDidLoad() {
super.viewDidLoad()
APIHelper.getArticles( { (result: Array!, error: NSError!) -> Void in
}) //COMPILER ERROR: '(NSArray!, NSError!) -> Void' is not convertible to 'APIHelper'
}
以前有没有其他人遇到过这个错误?如果是这样,我该如何调用这个方法并实现闭包?
【问题讨论】: