在生成Core Data子类时,我检查在Core Data存储中使用原始数据类型。
我应该从NSTimeInterval
转换哪个NSDate
代表?或者无关紧要,只需在读/写相同的托管对象属性时正确使用?
我更喜欢使用:mo.creationDate = date.timeIntervalSinceReferenceDate
答案 0 :(得分:2)
iOS的参考日期从2001年1月1日起,GMT Unix时间戳参考日期计算自:1970年1月1日,UTC
如果这是一个完全脱机的应用程序,您可以使用timeIntervalSinceReferenceDate并直接存储该值。
但是,如果您要与服务器同步,那么通常最好将数据作为unix时间戳发送到服务器。因为桌面使用unix time Stamp作为默认值。
因此,在第二种情况下,您可以选择将日期直接保存为UnixTimeStamp,并使用Model Class中的getter将其转换为本地使用(请参阅:@VladZ),或者您可以将其保存为iOS的参考日期并转换每次将它发送到服务器时都会发送到UnixTimeStamp。
答案 1 :(得分:1)
使用 - timeIntervalSince1970并将此值保存在CoreDate
中mo.creationDate = [NSNumber numberWithDouble:timeInterval];
答案 2 :(得分:0)