【问题标题】:Error when inserting NSDate to CoreData将 NSDate 插入 CoreData 时出错
【发布时间】:2014-02-02 21:49:46
【问题描述】:
    NSDateFormatter *dt = [[NSDateFormatter alloc] init];
    [dt setDateFormat:@"dd-MM-yyyy"];
    NSDate *bdate = [dt dateFromString:@"02-02-2013"];
    [nouContacte setValue:bdate forKey:@"birthday"];

我不明白为什么该代码不起作用。它插入 9 个不同的数字,例如 318366000。 我可以插入字符串、“布尔值”、数字,但不能插入日期。

coredata 中的生日字段是日期类型。

有什么想法吗?

【问题讨论】:

    标签: ios core-data nsdate


    【解决方案1】:

    对于“日期”属性,Core Data 将“自 2001 年 1 月 1 日,格林威治标准时间以来的秒数”存储在 SQLite 文件中,即你得到什么

    [bdate timeIntervalSinceReferenceDate]
    

    例如,2011-02-02 19:00:00 +0000 存储为号码318366000

    但这是一个实现细节,您不必担心。 从 SQLite 文件中读取对象时,将数字转换回来做一个NSDate

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-30
      • 1970-01-01
      • 2014-12-06
      • 1970-01-01
      • 2015-06-29
      • 2015-09-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多