![](/img/trans.png)
[英]How can i get a NSDate from this string, and this NSDate to long or NSTimeInterval
[英]How can I save and load the state of a NSDate to a file?
我希望我的应用在加载时以NSDate对象的状态加载,并能够保存微调器设置的新状态。
我的第一个方法是从微调器中获取NSdate对象,然后调用descriptionWithLocale将日期作为字符串获取,然后将其保存。 但是我看不到任何将日期作为字符串加载到NSDAte中的方法。
根据您的要求,您有两种选择。 正如Carl和rmaddy所指出的那样,NSDate符合NSCoding,这意味着它可以序列化,并且可以轻松地存储在NSUserDefaults中。 这是有关使用NSUserDefaults的不错的教程 。
或者,您可以仅将日期存储为NSTimeInterval。 在这种情况下,可以使用以下任何一种方法来存储和检索NSDate对象(来自NSDate类参考 )。
+ dateWithTimeIntervalSinceReferenceDate:
+ dateWithTimeIntervalSince1970:
– timeIntervalSinceReferenceDate
– timeIntervalSince1970
如果您关心将日期存储在纪元时间中,则dateWithTimeIntervalSince1970和相应的timeIntervalSince1970方法将很有用。
除了将NSData
转换为NSString
,更好的方法是使用NSDate -timeIntervalSince1970
方法转换为NSTimeInterval(这是double
),然后可以根据需要在NSUserDefaults中对其进行处理。
如果您确实要保存到文件,则可以将NSDate
插入NSDictionary
对象,然后使用-writeToFile:atomically:
方法保存NSDictionary
(使用+dictionaryWithContentsOfFile:
恢复)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.