如何将NSDate的状态保存并加载到文件中?

时间:2014-07-13 19:11:44

标签: ios objective-c

我希望我的应用程序在加载时加载到NSDate对象的状态,并且能够保存由微调器设置的新状态。

我的第一个dea是从微调器获取NSdate对象,然后调用descriptionWithLocale将日期作为字符串,然后保存此字符串。但我看不到任何方法将日期作为字符串加载到NSDAte中。

2 个答案:

答案 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:恢复)