通常在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<()?>

最新文章

  1. ANT_HOME is set incorrectly or ant could not be located .Please set ANT_HOME.
  2. 全屏滚动效果H5FullscreenPage.js
  3. HTML 5 的data-* 自定义属性
  4. 《Java中的抽象类及抽象类的作用》
  5. Android 学习笔记之网络通信基础+WebView....
  6. 【安卓特效】怎样给ImageView加上遮罩,点击时泛黑、或泛白、?
  7. XML认识
  8. UVA 246 - 10-20-30 (模拟+STL)
  9. 机器学习技法:06 Support Vector Regression
  10. 为什么我觉得Python烂的要死?
  11. Maven项目集成Jetty
  12. 68.纯 CSS 创作一本色卡
  13. HDU - 1260 (Tickets)
  14. python中type、object与class之间关系(一切皆对象)
  15. sourcetree删除github远程仓库文件
  16. 结合ajax 的表单验证
  17. 部分 II. 保护web篇
  18. Mybatis插入数据返回自增主键
  19. [转]java 中的序列化是什么意思?有什么好处?
  20. keras调用预训练模型分类

热门文章

  1. day 24 内置模块re
  2. hadoop生态搭建(3节点)-14.redis配置
  3. 20190112-自定义实现字符串的操作方法,如strip,upper,title,ljust,center,zfill,find,rfind等
  4. django配置虚拟环境-1
  5. Div标签使用inline-block有间距
  6. 洛谷P2252 取石子游戏(威佐夫博弈)
  7. 苏州Uber优步司机奖励政策(12月28日到1月3日)
  8. [Python3.X]python 实现斐波那契数列
  9. TCP/IP漫游
  10. 韩国KT软件NB-IOT开发记录V150(2)IOT maker通信相关