簡體   English   中英

如何保存NSDate的狀態並將其加載到文件中?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM