Eha*_*fan 1 delegates closures swift
所以当我从委托方法收到一些东西时,我正在尝试创建一个闭包:
typealias CompletionResponse = ((_ response: AnyObject) -> Void)?
class SomeClass {
static let shared = SomeClass()
var completion: CompletionResponse?
func getSomthing(completion: CompletionResponse) {
self.completion = completion
}
func someDelegateMethode(info: [String]) {
// Error is here
if let completion = self.completion {
completion(info)
}
}
}
_ = SomeClass.shared
SomeClass.shared
SomeClass.shared.getSomthing { (obj) in
print(obj as! [String])
}
SomeClass.shared.someDelegateMethod(info: ["Hello", "There"])
Run Code Online (Sandbox Code Playgroud)
我不知道该怎么做..我感谢任何帮助.
收到错误:
无法调用非函数类型'CompletionResponse'的值(又名'Optional <(AnyObject) - >()>')
谢谢
从类型中删除可选项.编译器不了解如何调用,completion因为它具有双重可选类型.
此外,您可以使用可选链接而不是if let.
self.completion?(info)
| 归档时间: |
|
| 查看次数: |
235 次 |
| 最近记录: |