ios – 如何从NSUserDefaults检索和分配NSDate对象? - 代码日志

ios – 如何从NSUserDefaults检索和分配NSDate对象?

我正在构建一个秒表应用程序,我需要在用户关闭应用程序之前存储开始日期,并且在用户再次打开应用程序时需要检索它。

所以例如,如果用户启动秒表,然后关闭应用程序,然后再一次打开应用程序后,如果秒表正在运行,应用程序应该将打开和关闭之间的时间添加到运行时间。

我在我的viewcontroller中创建了两个处理这个的函数。以下是代码:

    override func viewWillAppear(animated: Bool)
    {

      let startTimedefault:NSUserDefaults = NSUserDefaults.standardUserDefaults()

      let startTimesaved:NSDate = startTimedefault.objectForKey("start time") // This line is buggy


      if(launchBool == true)
      {      
         timer = NSTimer.scheduledTimerWithTimeInterval(1, target: self, selector: "fireStopWatch", userInfo: nil, repeats: true)

         startTime = startTimesaved
      }

      if(launchBool == false)
      {
         timer.invalidate()
      }

    }

    override func viewWillDisappear(animated: Bool)
    {
       NSUserDefaults.standardUserDefaults().setObject(launchBool, forKey: "Start/Stop")
       NSUserDefaults.standardUserDefaults().setObject(startTime, forKey: "start time")
       NSUserDefaults.standardUserDefaults().setObject(elapsedTime, forKey: "elapsed time")
    }

我在StackOverflow上经历了几个帖子:

What’s the optimum way of storing an NSDate in NSUserDefaults?

iOS – Not able to store NSDate into NSUserDefaults

设置你的日期对象如下:

NSUserDefaults.standardUserDefaults().setObject(NSDate(), forKey:"yourKey")

检索它使用:

NSUserDefaults.standardUserDefaults().objectForKey("yourKey") as! NSDate
http://stackoverflow.com/questions/26733628/how-to-retrieve-and-assign-a-nsdate-object-from-nsuserdefaults

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:ios – 如何从NSUserDefaults检索和分配NSDate对象?