【发布时间】:2025-12-14 04:20:07
【问题描述】:
寻找每天更新视图的可能性。
这是我尝试过的......但它甚至不打印“test2”
var WordNumber = 0
override func viewDidLoad() {
super.viewDidLoad()
let userDefault = UserDefaults.standard
if let lastRe = userDefault.dictionary(forKey: "lastRe") {
print("test2")
if let letztesDatum = lastRe ["date"] as? NSDate {
print("test3")
if let index = lastRe ["index"] as? Int {
print("test4")
if abs(letztesDatum.timeIntervalSinceNow) > 1 {
print("test5")
WordNumber = index + 1
let _ : [NSObject : AnyObject] = ["date" as NSObject : NSDate(),
"index" as NSObject : WordNumber as AnyObject]
}
print("test6")
nextDay() //update lbl
userDefault.set(lastRe, forKey: "lastRe")
userDefault.synchronize()
}
}
}
}
【问题讨论】:
-
请记住,首次安装应用程序时,
UserDefaults将没有任何值。因此,如果您的代码只在代码中添加一个值来检查它是否有值,那么它永远不会有值。 -
顺便说一句 -
synchronize()已过时。不要使用它。 -
只是建议兄弟,如果允许,永远不要使用金字塔。这将导致您更加复杂。是的,关于您的打印问题,我认为@rmaddy 是对的(兄弟+1 投票)
标签: swift userdefaults