import Foundation
class ParentClass<T>
{
var _success : ((T)->Void)?
}
extension ParentClass
{
func success<T>(success: ((T) -> Void)?) -> ParentClass where T : Codable
{
self._success = success
return self
}
}
Run Code Online (Sandbox Code Playgroud)
我试图将通用闭包存储到变量中以备后用,但编译器抛出错误。“无法分配类型'((T)-> Void)的值吗?” 键入'(((T)-> Void)?'“
你已经出台了当地通用的变量T,这是阴影的(无关)通用可变T的ParentClass。
import Foundation
class ParentClass<T>
{
var _success : ((T)->Void)?
}
extension ParentClass where T: Codable
{
func success(success: ((T) -> Void)?) -> ParentClass
{
self._success = success
return self
}
}
Run Code Online (Sandbox Code Playgroud)
但是,成功函数是一个实例方法并没有任何意义。它应该是一个初始化程序,或者是一个静态方法。
| 归档时间: |
|
| 查看次数: |
74 次 |
| 最近记录: |