从此代码开始:class Formatters { static let shared = Formatters() var humaneNumbers: NumberFormatter; private init() { humaneNumbers = NumberFormatter() ...
从此代码开始:
class Formatters {
static let shared = Formatters()
var humaneNumbers: NumberFormatter;
private init() {
humaneNumbers = NumberFormatter()
humaneNumbers.numberStyle = .decimal
}
}
(这里不包括线程安全。)
我需要这样调用它 Formatters.shared.humaneNumbers
;我更愿意直接调用 Formatters.humaneNumbers
.
有没有办法只使用静态属性来实现这一点?我试过这个:
class Formatters {
static var humaneNumbers: NumberFormatter {
let humaneNumbers = NumberFormatter()
humaneNumbers.numberStyle = .decimal
return humaneNumbers
}
}
...但是这变成了静态计算属性,因此每次都会调用它,而不只是一次。
当然,还有这种方法:
class Formatters {
static let humaneNumbers = NumberFormatter()
}
但这给了我一个未定制的NumberFormatter。
我遗漏了什么吗?
Swift 惰性静态成员初始化
下载声明:
本站所有软件和资料均为软件作者提供或网友推荐发布而来,仅供学习和研究使用,不得用于任何商业用途。如本站不慎侵犯你的版权请联系我,我将及时处理,并撤下相关内容!