我希望我的应用程序在加载时加载到NSDate对象的状态,并且能够保存由微调器设置的新状态。
我的第一个dea是从微调器获取NSdate对象,然后调用descriptionWithLocale将日期作为字符串,然后保存此字符串。但我看不到任何方法将日期作为字符串加载到NSDAte中。
答案 0 :(得分:1)
根据您的要求,您有几种选择。正如Carl和rmaddy指出的那样,NSDate符合NSCoding,这意味着它是可序列化的,可以很容易地存储在NSUserDefaults中。使用NSUserDefaults时,这是一个很好的tutorial。
或者,您可以将日期存储为NSTimeInterval。在这种情况下,您可以使用以下任何方法来存储和检索NSDate对象(来自NSDate class reference)。
+ dateWithTimeIntervalSinceReferenceDate:
+ dateWithTimeIntervalSince1970:
– timeIntervalSinceReferenceDate
– timeIntervalSince1970
如果你关心在纪元时间存储日期,dateWithTimeIntervalSince1970和相应的timeIntervalSince1970方法很有用。
答案 1 :(得分:0)
不是将NSData
转换为NSString
,而是使用NSDate double
方法将更好的方法转换为NSTimeInterval(-timeIntervalSince1970
),然后您可以在NSUserDefaults中将其疼痛你喜欢。
如果您确实要保存到文件,可以将NSDate
插入NSDictionary
对象,然后使用NSDictionary
方法保存-writeToFile:atomically:
(使用+dictionaryWithContentsOfFile:
恢复)