我正在关注核心数据实用程序教程,并且我已经实现了自定义托管对象类。它构建并运行良好,但值似乎不正确。我的 CDCLI.cdcli 文件充满了这样的对象:
<object type="RUN" id="z114">
<attribute name="processid" type="int64">1334</attribute>
<attribute name="date" type="date">369155986.60885798931121826172</attribute>
</object>
该“日期”属性看起来不像日期。日期和 processID 属性设置如下:
// Attribute: Date
NSAttributeDescription *dateAttribute = [[NSAttributeDescription alloc] init];
[dateAttribute setName:@"date"];
[dateAttribute setAttributeType:NSDateAttributeType];
[dateAttribute setOptional:NO];
// Attribute: Process ID
NSAttributeDescription *idAttribute = [[NSAttributeDescription alloc] init];
[idAttribute setName:@"processID"];
[idAttribute setAttributeType:NSInteger64AttributeType];
[idAttribute setOptional:NO];
[idAttribute setDefaultValue:[NSNumber numberWithInteger:-1]];
基于以下方法,我期望收到“0”作为 processID 属性值,但我不是。
- (void)setNilValueForKey:(NSString *)key {
if ([key isEqualToString:@"processID"]) {
self.processID = 0;
} else {
[super setNilValueForKey:key];
}
}
事实上,向该方法添加一些 NSLog 语句告诉我它甚至没有被调用,我必须弄清楚这一点。
有谁知道 date 和 processID 属性应该是什么样子,所以我可以确定我得到了正确的值?