gpt4 book ai didi

swift - 如何将用户输入的值更改为默认值以供将来使用?

转载 作者:行者123 更新时间:2023-11-30 11:32:47 33 4
gpt4 key购买 nike

我尝试编写一个简单的应用程序,根据用户已经完成的分钟数的输入来计算项目的完成日期:

@IBOutlet weak var BDDate: NSTextField!
@IBOutlet weak var BDTime: NSTextField!

override func viewDidLoad() {
super.viewDidLoad()
}

override var representedObject: Any? {
didSet {
}
}

@IBAction func BDSave(_ sender: Any) {
let currentDate = Date()
let daysToAdd = 10 - Int(BDTime.stringValue)!

var dateComponent = DateComponents()
dateComponent.day = daysToAdd

let BDFinish = Calendar.current.date(byAdding: dateComponent, to: currentDate)

let formatter = DateFormatter()
formatter.dateFormat = "MMMM, dd"
BDDate.stringValue = formatter.string(from: BDFinish!)
}

但是,由于可能需要几天时间才能完成,因此会有多个输入。我想知道是否可以将以前的输入保存为默认值,以便完成日期将反射(reflect)累积以前的输入后的真实日期。

例如,整个项目需要10个小时完成,每天计划一小时,如果我今天输入1小时,最终结果将是9天后。然而,当我明天再次打开应用程序并输入 1 小时时,最终结果仍然是 9 天后,而不是 8 天后。

感谢任何指导或建议。谢谢。

最佳答案

您可以使用 UserDefaults,它将在应用加载之间保留一个值,例如:

    var daysRemaining = 10 //For new project

//If there is an existing value, load it from UserDefaults
if let savedDaysRemaining = UserDefaults.standard.value(forKey: "savedDaysRemaining") as? Int {
daysRemaining = savedDaysRemaining
}

//Substract the number of new days
let daysToSubtract = 1
daysRemaining -= daysToSubtract

//Save new value to User Defaults
UserDefaults.standard.set(daysRemaining, forKey: "savedDaysRemaining")

关于swift - 如何将用户输入的值更改为默认值以供将来使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50082485/

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