swift中哪种property声明方式更好?为什么

如题,最近一直在困惑两种属性的声明方式的比较的优劣

code1 :

class MyViewController : UIViewController {
    var button:UIButton!
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        self.button = UIButton()
        // ....  其他的配置
    }
}

code2 :

class MyViewController : UIViewController {
    lazy var button:UIButton = UIButton()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        // 配置
        self.button.setImage....
        
    }
}

code1用的强制解包,code2用的lazy

哪种方式更好呢?

阅读 3.3k
1 个回答

lazy就是延时加载
用到时再去初始化~
iOS还是推荐用Storyboard 所以不用自己控制

但是 控件 不是 很重的东西 而且由于生命周期事件 的存在 不推荐用lazy方式加载

只有重量级 的 资源大户 采用这种方式

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题