swift 使用匿名函数初始化属性

swift 使用匿名函数初始化属性

匿名函数格式:

{
    //代码体
}()

大括号是定义函数体的,小括号()是调用函数体的。

为什么不写一个函数然后调用函数呢?为何用匿名函数呢?

主要还是代码的简洁性.

举个🌰

 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
    }()

上述代码简单清晰明了,如果使用函数,要先写一个函数,然后再去调用,麻烦许多,代码也不明朗。

当时,你也可以使用闭包来这样初始化

 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
    }
posted @ 2019-02-26 14:06  爱生活爱代码  阅读(1261)  评论(0)    收藏  举报