假设您有一个全局的日期格式化程序
let df:DateFormatter = DateFormatter()
理想情况下,最好在相同的全局初始化时间执行 .dateFormat
设置 - 有点像这样
let df:DateFormatter = DateFormatter().dateFormat = "yyyy-MM-dd"
但是 DateFormatter 没有替代的初始化(没有像这样的 DateFormatter(withDateFormat: "yyyy-MM-dd")
)
真的吗,有 Swift 解决方案吗?是否有任何类之外的代码块的语法,它在任何东西之前运行并且你可以在其中设置那种性质的东西?
(注意 - 我完全了解其他方法,例如单例、扩展等:这是一个 Swift 结构问题,谢谢。)
最佳答案
使用闭包进行设置
let df : DateFormatter = {
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd"
return formatter
}()
但是,我们不鼓励您使用未封装的全局变量。
关于swift - 在初始化时设置日期格式化程序(例如)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42393190/