背景:经常需要把一些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方法调用,搬个砖加深一下印象。
标签:初化,self,iOS,列表,callback,init,便利,swift,datas From: https://www.cnblogs.com/adongdev/p/17792418.html