我的想法是,每次轻按“ A”按钮时,它将自动设置NSDate值。当当前时间大于现有NSDate值时,它将显示“是”。这是我的代码,但我不知道怎么了。 导入UIKit
ViewController类:UIViewController {
var currentDateTime = NSDate()
override func viewDidLoad() {
super.viewDidLoad()
observeTime()
}
@IBAction func show(_ sender: Any) {
print(UserDefaults.standard.dictionaryRepresentation())
}
let userDefaults = UserDefaults.standard
func observeTime() {
let posttime = userDefaults.object(forKey: "LastPostingTime") as? NSDate
if ((posttime?.isGreaterThanDate(dateToCompare: currentDateTime))!) {
print("yes")
}
}
@IBAction func hihi(_ sender: Any) {
observeTime()
userDefaults.set(NSDate(), forKey: "LastPostingTime")
}
}
extension NSDate {
func isGreaterThanDate(dateToCompare: NSDate) -> Bool {
//Declare Variables
var isGreater = false
//Compare Values
if self.compare(dateToCompare as Date) == ComparisonResult.orderedDescending {
isGreater = true
}
//Return Result
return isGreater
}
}
答案 0 :(得分:1)
在函数hihi
中,您首先将当前日期存储到NSUserDefaults中,然后再读取它。这样您就可以找回刚刚存储的内容:当前时间。
您可能想先阅读它,将其与currentDateTime进行比较,然后将其存储到用户默认设置中。