gpt4 book ai didi

swift - 如何在swiftUI中每天查看日期

转载 作者:行者123 更新时间:2023-12-02 18:46:39 24 4
gpt4 key购买 nike

我是 swiftUI 的新手。现在,我正在制作一个可以记下您的任务进度的应用程序。在应用程序中,我需要用用户每天的目标(我猜是凌晨 12 点)重新填写列表,我在哪里以及如何快速检查时间?我知道我们可以在 Storyboard 中使用 app delegate,但是对于 SwiftUI,在应用 CoreData Manager 之后,app delegate 已经消失,我们有 app.swift,我现在应该在哪里检查?谢谢!

最佳答案

根据 Leo Dabus 关于监视 NSCalendarDayChanged 通知的建议,这里有一些代码展示了如何在 SwiftUI 中完成此操作。

import SwiftUI

struct ContentView: View {

@ObservedObject var viewModel = ContentViewModel()

var body: some View {
VStack {
Text(viewModel.displayDate)
// List of goals
}
}
}

class ContentViewModel: ObservableObject {

@Published var currentDate: Date = Date()

var displayDate: String {
Self.simpleDateFormatter.string(from: currentDate)
}

private static let simpleDateFormatter: DateFormatter = {
let formatter = DateFormatter()
formatter.dateFormat = "MMMM d"
return formatter
}()

init() {
NotificationCenter.default.addObserver(self, selector: #selector(dayDidChange), name: .NSCalendarDayChanged, object: nil)
}

@objc
func dayDidChange() {
currentDate = Date()
}
}

关于swift - 如何在swiftUI中每天查看日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67350510/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com