我看过 的timeIntervalSinceReferenceDate
功能NSDate
。我可以使用此函数将间隔存储到磁盘,然后将其返回到NSDate
与原始值相同的值吗?我担心机器之间的参考或间隔可能会有所不同,并且在另一台计算机上会有所不同?
问问题
6408 次
2 回答
34
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];
不进行错误检查。做得比那更好。;-)
于 2011-04-29T22:01:57.477 回答
2
或者,如果你想存储你的结果,timeIntervalSinceReferenceDate
你可以将它作为双精度存储在 NSNumber 中,然后使用 Joshua 的 NSKeyedArchiver 方法将其保存到磁盘。
于 2011-04-30T09:52:52.237 回答