ios - SwiftUI 中的惰性属性
问题描述
嗨,我需要帮助制作懒惰的财产。
我有这个代码:
lazy var dateFormat: DateFormatter =
{
let formatter = DateFormatter()
formatter.locale = NSLocale.current
formatter.dateFormat = "dd/MM/YYYY hh:mm"
return formatter
}()
并且在使用时Text(date, formatter: self.dateFormat)
我收到此错误Cannot use mutating getter on immutable value: 'self' is immutable
解决方案
您可以使用静态而不是惰性。
struct Formatter: View {
var date = Date()
private static var dateFormat: DateFormatter = {
let formatter = DateFormatter()
formatter.locale = NSLocale.current
formatter.dateFormat = "dd/MM/YYYY hh:mm"
return formatter
}()
var body: some View {
Text("\(date, formatter: Self.dateFormat)")
}
}
推荐阅读
- python - 加载数据集以训练模型
- grails-4 - Grails4 webapp 不再启动
- amazon-web-services - 您如何在 dotnet core lambda 中接收来自 AWS 事件桥的事件?
- shell - FFMPEG: add more tracks to previous amix output
- jquery - 需要在jquery动画中隐藏溢出
- matlab - 有没有办法在Matlab中为3D(x,y,z)中的分散数据创建三次插值函数?
- python - 将数据帧分成两部分,但已经知道一个
- angular - Ngrx with lazy load modules
- python - pandas.Series.value_counts result to a dictionary with frequencies as keys
- windows - 如何设置 Windows 桌面应用程序的 AppId(通过 InnoSetup)