swiftui - 我应该在 SwiftUI 中将 DateFormatter() 和 xxx.dateFormat = "xxx"放在哪里

标签 swiftui dateformatter

我应该在 SwiftUI 中的什么位置放置以下代码:

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd.MM.yyyy"

如果我把它放在结构之外... {...} 我得到“顶层不允许表达式”

如果我把它放在里面,我会得到 var body: some View {...} 我得到 Function 声明了一个不透明的返回类型,但在其主体中没有 return 语句来推断基础类型。

最佳答案

有几种方法可以做到这一点。

您可以在 View 中创建静态属性 - 然后您将始终使用相同的格式化程序:

struct ContentView: View {
    static let dateFormatter: DateFormatter = {
        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = "dd.MM.yyyy"
        return dateFormatter
    }()
    
    ...
}

您还可以直接在正文中创建格式化程序,然后返回一些 View :

struct ContentView: View {
    var body: some View {
        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = "dd.MM.yyyy"
        return VStack {
            ... // use the `dateFormatter` as you wish
        }
    }
}

关于swiftui - 我应该在 SwiftUI 中将 DateFormatter() 和 xxx.dateFormat = "xxx"放在哪里,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63292923/

相关文章:

ios - 如何制作DateComponentsFormatter.string的第一个字(来自:)'s result capitalised?

swiftui - SwiftUI View 中的 onReceive 导致无限循环

ios - SwiftUI:如何在搜索栏的文本更改时触发 api 调用以检索数据源

iOS 10 时区格式问题,日期创建为 timeIntervalSince1970

java - 如何使用 DateTimeFormatter 解析带冒号的偏移量?

ios - 无法快速更改旧日期格式的新日期格式?

ios - SwiftUI SQLite ForEach 列表数据

ios - 在SwiftUI中形成表单,使用swiftUI在IOS设置中定位用户图片

swiftui - 在SwiftUI中从左到右排列HStack中的项目

ios - Swift3 - 从数据库计算现在和日期之间的时差