【问题标题】:Setting NSFetchRequest resultType in the model editor has no effect在模型编辑器中设置 NSFetchRequest resultType 无效
【发布时间】:2013-05-05 13:23:00
【问题描述】:

我刚刚遇到了通过 Xcode 4.6.2 中的模型编辑器创建的获取请求模板的问题。我尝试在获取请求的核心数据检查器中更改 Result Type 设置,如下图所示:

但是,当我在代码中加载模板时,设置并没有反映出来:

NSFetchRequest *req = [self.managedObjectModel fetchRequestTemplateForName:@"itemIds"];
NSLog(@"Result type is %d", req.resultType);

返回 0,也就是 NSManagedObjectResultType。同样,当我获取模板时,Advanced 下的其他设置似乎没有从模型中加载。我尝试了fetchRequestTemplateForName:fetchRequestFromTemplateWithName:substitutionVariables:,但它们都没有给出预期的结果。这是 Xcode/NSManagedObjectModel 中的错误还是我做错了什么?

【问题讨论】:

    标签: xcode cocoa core-data


    【解决方案1】:

    这是 Xcode 附带的托管对象模型编译器中的一个错误。似乎在右侧面板中,只有“名称”和“实体”有任何影响。你做的是对的,但是工具坏了。

    最接近的解决方法是更改​​代码中的结果类型。您无法修改从模型获得的获取请求,但 NSFetchRequest 符合 NSCopying,因此您可以复制并修改它。这很糟糕,但它看起来是当前工具的最佳选择。

    【讨论】:

    • 我提交了一个错误,它也可以在 OpenRadar 上找到。
    • 谢谢,我会把这个问题留一段时间,以防其他人想插话。同时,我也会发布雷达。
    猜你喜欢
    • 2021-10-03
    • 1970-01-01
    • 1970-01-01
    • 2015-01-17
    • 1970-01-01
    • 1970-01-01
    • 2022-12-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多