匿名函数格式:swift
{ //代码体 }()
大括号是定义函数体的,小括号()是调用函数体的。闭包
为何不写一个函数而后调用函数呢?为什么用匿名函数呢?ide
主要仍是代码的简洁性.函数
举个🌰ui
private lazy var guideScrollView: UIScrollView = { let view = UIScrollView.init() view.backgroundColor = UIColor.lightGray view.bounces = false view.isPagingEnabled = true view.showsHorizontalScrollIndicator = false view.delegate = self return view }()
上述代码简单清晰明了,若是使用函数,要先写一个函数,而后再去调用,麻烦许多,代码也不明朗。code
当时,你也可使用闭包来这样初始化it
private lazy var guideScrollView = { ()-> UIScrollView in let view = UIScrollView.init() view.backgroundColor = UIColor.lightGray view.bounces = false view.isPagingEnabled = true view.showsHorizontalScrollIndicator = false view.delegate = self return view }