给出一个类:
class First<T> {
}
和类的方法第一:
func second<U>(closure: (value: T) -> U) {
}
我如何将作为参数传递的闭包存储到第二个,以便我可以在以后调用它?
最佳答案 您需要在类中声明U,以便您拥有存储的类型:
class First<T,U> {
var f : ((T) -> U)! = nil
func second(closure: @escaping (T) -> U) {
self.f = closure
}
}