假设您有一个全局的日期格式化程序
let df:DateFormatter = DateFormatter()
Run Code Online (Sandbox Code Playgroud)
理想情况下.dateFormat,在相同的全局初始化时间进行设置会很好- 有点像这样
let df:DateFormatter = DateFormatter().dateFormat = "yyyy-MM-dd"
Run Code Online (Sandbox Code Playgroud)
但是DateFormatter没有替代的初始化(没有像这样的东西DateFormatter(withDateFormat: "yyyy-MM-dd"))
真的,有一个Swift解决方案吗?是否存在任何类之外的代码块的语法,它可以在任何类型之前运行,并且可以在其中设置这种性质的东西?
(注意 - 我完全了解替代方法,如单例,扩展等:这是一个Swift结构问题,谢谢.)
使用闭包进行设置
let df : DateFormatter = {
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd"
return formatter
}()
Run Code Online (Sandbox Code Playgroud)
但是,不鼓励您使用未封装的全局变量.
| 归档时间: |
|
| 查看次数: |
904 次 |
| 最近记录: |