iOS开发点滴

iOS swift便利构造器

2023-10-26  本文已影响0人  東玖零

背景:经常需要把一些UI内容写到地一个类里,初化的时候只设置位置,我们能不能把一些已知的参数通过初化的时候直接传进去呢?显然是可以的。

假如我们要写一个弹框列表,已知列表的内容,弹框背景全屏幕展示,怎么把列表数据当参数在初化时传进去呢,接下直接上代码。


class UBListChoiceView: UIView {

    var callback:Callback?
    
    var datas:[String]?
    
    // 主要看这里
    convenience init(datas:[String]?, callback:Callback?) {
        let rect = UIScreen.main.bounds
        self.init(frame: rect)
        self.datas = datas
        self.callback = callback
        initSubviews()
    }
    
    func initSubviews() {
        // 实现具体内容
    }

}

关键是使用convenience关键字init方法的定义及self.init方法调用,搬个砖加深一下印象。

上一篇 下一篇

猜你喜欢

热点阅读