首页 > 解决方案 > 如何在视图生命周期之外的对象初始化时设置属性值?

问题描述

我有一个带有 2 个字段的 ViewController:

class MyViewController: UIViewController {
    private var dataManager = MyDataManager()
    private var dateFormatter: DateFormatter?

    override func viewDidLoad() {
        super.viewDidLoad()
        dateFormatter.locale = NSLocale.current
        dateFormatter.dateStyle = .medium
    }
}

我怎样才能dateFormatter在外面初始化viewDidLoad()dataManager

标签: swift

解决方案


使用定义和调用初始化程序。

private let dateFormatter: DateFormatter = {
   let d = DateFormatter()
   d.locale = NSLocale.current
   d.dateStyle = .medium
   return d
}()

推荐阅读