アプリ開発初心者です。

アプリ終了時に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();
            }