加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 01:53:34 所属栏目:百科 来源:网络整理
导读:我正在构建一个秒表应用程序,我需要在用户关闭应用程序之前存储开始日期,并且在用户再次打开应用程序时需要检索它。 所以例如,如果用户启动秒表,然后关闭应用程序,然后再一次打开应用程序后,如果秒表正在运行,应用程序应该将打开和关闭之间的时间添加
我正在构建一个秒表应用程序,我需要在用户关闭应用程序之前存储开始日期,并且在用户再次打开应用程序时需要检索它。

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

我在我的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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读