objective-c - 我应该从 Apple 的 Core Data Utility 教程中获得什么值?

标签 objective-c ios macos core-data command-line

我正在关注 Core Data Utility tutorial我已经实现了 custom managed object class 。它构建并运行良好,但值似乎不正确。我的 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 语句告诉我它甚至没有被调用,我必须弄清楚这一点。

有谁知道日期和 processID 属性应该是什么样子,这样我就可以确定我得到了正确的值?

最佳答案

日期值对我来说看起来不错。内部格式是自引用日期(2001 年 1 月 1 日,GMT)以来的秒数。该值约为 11.7 年,这似乎是一个合理的日期。

同样,进程 ID 1334 似乎是一个合适的 PID 值。

最后,在代码中执行以下操作:

if ([key isEqualToString:@"ProcessID"]) {

但是如果属性名称看起来不一致,那么您的用法。日志显示 processid,您的第一组代码使用 processID,第二组代码使用 ProcessID

关于objective-c - 我应该从 Apple 的 Core Data Utility 教程中获得什么值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12392142/

相关文章:

ios - Xcode 将 Swift Framework 导入 Objective C 应用程序时出现类型解析问题

iphone - ALAssetsLibrary 更改通知未在 ios 5 中触发?

ios - iCarousel - viewForItemAtIndex 在启动时加载所有索引

ios - 在 Swift 中获取按钮单击 UITableView

objective-c - 如何将 textField 复制到 OSX 剪贴板?

macos - Visual Studio代码: DesignHostManager failed

iphone - iOS 中的函数指针?

objective-c - EXC_BAD_ACCESS 滚动TableView

ios - 当 ios 中该部分数据为空时,我如何删除 uitableview 部分?

ios - 更改 UITableView 静态单元格中的标题