zoukankan      html  css  js  c++  java
  • Swift 泛型和闭包结合使用

    通常在Swift中定义一个闭包来使用

    typealias Closure= (Any?) -> ()
    
    var tempClosure :Closure?
    
    /// 定义一个方法直接调用
    func closure(_ closure:@escaping closure) {
            self.closure = closure
    }
    

     上面就是我们经常使用闭包的方法,这个方法的弊端就是,在项目工程中typealias满天飞,到处都是定义的闭包,这个时候结合泛型对闭包做如下的修改

    public typealias GenericClosure<T> = (T) -> ()
    

    这样定义之后我们在需要使用的时候就可以随意的定义闭包的参数类型了

    var stringClosure:GenericClosure<String>?
    var stringClosure:GenericClosure<(title:String,model:Any)>?
    var voidClosure:GenericClosure<()?>
    
  • 相关阅读:
    CSS3--box-shadow
    C#快捷键
    c#基础3
    C#基础2
    C#基础
    javascript 字符串总结
    javasrcipt中的for in 循环
    javascript复习总结
    结构体数组排序
    ArrayList集合排序
  • 原文地址:https://www.cnblogs.com/zj901203/p/10419654.html
Copyright © 2011-2022 走看看