【发布时间】:2016-04-29 03:22:27
【问题描述】:
我需要做以下事情,我需要你的帮助:
- 创建一个文本字段供用户输入日期。当用户在安装后第一次打开应用程序时会发生这种情况。
- 与当前日期比较
- 显示差异。
- 存储差异,以便在后续加载 App 时,显示加载的差异。
我的代码如下所示(稍后我会将常量更改为从 UITextField 输入)
let currentDate = NSDate()
let dataformatterCurrent = NSDateFormatter()
dataformatterCurrent.dateFormat = "MMMM dd, yyyy, HH:mm"
let convertedCurrentDate = dataformatterCurrent.stringFromDate(currentDate)
let dateformatter = NSDateFormatter()
dateformatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
let dateAskumar = "2015-10-08 14:25:37"
let date1 = dateformatter.dateFromString(dateAskumar)!
let diffDateComponents = NSCalendar.currentCalendar().components([NSCalendarUnit.Month, NSCalendarUnit.Day, NSCalendarUnit.Hour, NSCalendarUnit.Minute], fromDate: date1, toDate: currentDate, options: NSCalendarOptions.init(rawValue: 1))
请帮助您了解如何使用 NSUserDefaults 保存 diffDateComponents 变量。
【问题讨论】:
-
为什么要使用nsurl?你可以只使用 NSUserDefaults。
-
你的问题没有多大意义。什么网址?您希望如何(以及为什么)将 URL 用于日期组件?
-
我纠正了错字,它的 NSuserdefault 而不是 nsurl。感谢您指出这一点。
-
你必须实现
NSCoding到NSDateComponents以将它们存储在NSUserDefaults,但这不是一个好主意,我也不知道它是否可能,我建议你改变与 String 或 Int 的区别,然后很容易存储,就像在你的情况下,一个字符串MMMM dd, yyyy或 sth 就足够了 -
为什么要将组件存储在
NSUserDefaults中?只需存储date1。
标签: ios swift nsuserdefaults nsdatecomponents