将nsdate保存到磁盘

the*_*end 7 cocoa nsdate nscalendar

我看过了它的timeIntervalSinceReferenceDate功能NSDate.我可以使用此功能将间隔存储到磁盘,然后将其返回到NSDate与原始值相同的值吗?我担心机器之间的参考或间隔会有所不同,而另一台计算机上的参考或间隔会有所不同?

Jos*_*zzi 32

NSDate可以存档为NSData实例,NSData可以轻松写入/读取磁盘.

// Create and store it
NSDate * date = [NSDate date];
NSData * dateData = [NSKeyedArchiver archivedDataWithRootObject:date];
[dateData writeToFile:@"/Some/path/to/file.dat" atomically:NO];

// Now bring it back
NSData * restoredDateData = [NSData dataWithContentsOfFile:@"/Some/path/to/file.dat"];
NSDate * restoredDate = [NSKeyedUnarchiver unarchiveObjectWithData:restoredDateData];
Run Code Online (Sandbox Code Playgroud)

没有进行错误检查.做得更好.;-)