Swift NSUserDefaultsでNSDateを保存
アプリ開発初心者です。
アプリ終了時にNSDateを取得し、NSUserDefaultsで保存して、
アプリ起動時に保存したNSDateを元に時間の差分を取得したいのですが、
下記コード内の、dateをbackgroundDateに代入することが出来ません。
どのようにすればよいでしょうか?
回答、お願い致します。
var backgroundDate: NSDate!
func addNotification() {
// 通知の登録
NSNotificationCenter.defaultCenter().addObserver(self, selector: "didBecomeActive:", name: UIApplicationDidBecomeActiveNotification, object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: "willTerminate:", name: UIApplicationWillTerminateNotification, object: nil)
}
//フォアグラウンド移行時の処理
func enterForeground(notification: NSNotification){
print("applicationWillEnterForeground")
//読み込み
let date: AnyObject! = NSUserDefaults.standardUserDefaults().objectForKey("backdate");
backgroundDate = date
let timeDiff = Int(NSDate().timeIntervalSinceDate(backgroundDate))
print("経過時間 : \(timeDiff)")
//フリックしてアプリ終了時の処理
func willTerminate(notification: NSNotification){
print("applicationWillTerminate")
//保存
// NSUserDefaults.standardUserDefaults().setObject(NSData(), forKey:"backdate"); // NSData -> NSDate
NSUserDefaults.standardUserDefaults().setObject(NSDate(), forKey:"backdate")
NSUserDefaults.standardUserDefaults().synchronize();
}