如何使用NSUserDefaults在当前时间和上次发布时间之间进行检查?

时间:2019-02-23 09:16:24

标签: ios xcode date userdefaults

我的想法是,每次轻按“ 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
}

}

1 个答案:

答案 0 :(得分:1)

在函数hihi中,您首先将当前日期存储到NSUserDefaults中,然后再读取它。这样您就可以找回刚刚存储的内容:当前时间。

您可能想先阅读它,将其与currentDateTime进行比较,然后将其存储到用户默认设置中。