请注意,更新 3 可能是最相关的
我使用 nsdate 对象设置NSTimeInterval
托管对象的属性setValue:forKey:
当我尝试获取值时,我得到了奇怪的东西,在运行时这个
NSLog(@"[managedObject valueForKey:@\"startTime\"] : %@, [NSDate dateWithTimeIntervalSince1970:[managedObject startTime]]: %@",
[managedObject valueForKey:@"startTime"],[NSDate dateWithTimeIntervalSince1970:[managedObject startTime]]);
退货
[managedObject valueForKey:@"startTime"] : 2012-07-14 08:13:05 +0000,
[NSDate dateWithTimeIntervalSince1970:[managedObject startTime]]: 1981-07-14 08:13:05 +0000
更新 1
返回的值[managedObject valueForKey:@"startTime"]
是正确的。但是我更喜欢使用[NSDate dateWithTimeIntervalSince1970:[managedObject startTime]]
或类似的东西,以便它的类型更强大。
我相信[managedObject startTime]
返回不正确的值 => 363954111.000000
。
但是我用这样的东西设置它:
managedObject setValue:1342261311 forKey:@"startTime"
值得注意的是,我不确定这是否不正确,因为[managedObject valueForKey:@"startTime"]
返回了正确的 NSDate 对象。
更新 2
我记录了 KVC 和.
语法返回的双精度值。
managedObject.startTime = 363954111.000000
valueForKey timeIntervalSince1970 = 1342261311.000000
更新3
好的,我已经设置了一个测试,开始时间是这样设置的entity.startTime = [[NSDate dateWithTimeIntervalSince1970:1342261311] timeIntervalSince1970];
,结束时间是这样设置的[entity setValue:[NSDate dateWithTimeIntervalSince1970:1342261311] forKey:@"endTime"];
当我将它们写入日志时,我得到了这个start = 1342261311.000000, end = 363954111.000000
似乎 NSDate 对象被错误地解包,有没有人见过这个?