【发布时间】:2018-08-19 00:31:22
【问题描述】:
Swift 创建红色按钮的方法:
let button: UIButton = {
let button = UIButton()
button.backgroundColor = .red
return button
}()
使用我的扩展(kotlin 的方法):
let button: UIButton = UIButton().apply(){ this in
this.backgroundColor = UIColor.red
}
我的扩展有两个问题,第一个是Xcode无法识别闭包参数“this”,它显示>,所以我没有自动完成(虽然它正在工作),并且第二个是我希望能够推断出泛型类型,因为我已经在实例化它了。
扩展名:
extension NSObject {
func apply<T>(_ closure: (T) -> ()) -> T {
let this = self as! T
closure(this)
return this
}
}
我希望有人能找到解决方案。提前致谢。
【问题讨论】:
标签: ios swift xcode generics types