![](/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.