【问题标题】:NSArrayController Class vs Entity mode in Core Data Mac OS X document based applicationCore Data Mac OS X 基于文档的应用程序中的 NSArrayController 类与实体模式
【发布时间】:2010-09-16 05:47:46
【问题描述】:

谁能解释 NSArrayContoller 模式(类/实体} 之间的实践差异?

我只是在基于文档的 Core Data 桌面应用程序中遇到了一些调试问题(对我的所有控制器都使用实体模式)。

我的数据库结构变得相当复杂,并且需要很长时间才能找到错误的绑定(键入错误的键路径等)。我还为我的数据模型中的每个实体生成了类。

如果我将所有控制器都切换到 Class 模式,跟踪绑定错误会有什么不同吗?

【问题讨论】:

    标签: cocoa core-data nsarraycontroller mode


    【解决方案1】:

    实体用于数组控制器,其数组包含 Core Data 托管对象。

    类用于数组控制器,其数组包含普通(非托管)对象。

    所以,不,将保存托管对象的数组控制器切换到非托管对象模式将无济于事。

    我的数据库结构变得相当复杂,并且需要花费大量时间来查找错误的绑定(键入错误的键路径等)。

    您应该在调试器控制台中得到一个例外。

    【讨论】:

    • -[NSManagedObject valueForUndefinedKey:] 这就是我得到的全部,即使 -NSBindingDebugLogLevel 1 在启动时传递给可执行文件。如何获得更多描述?当我有 20 个错误表时 - 查找是否非常令人沮丧。
    • 通过杀死一个接一个的绑定来追踪问题。如果异常给出的 keyPath 错误,您也可以使用纯文本编辑器打开 xib 并搜索密钥。
    • 看来这是唯一的办法。谢谢。
    • 使用“实体模式”获取核心数据对象对我来说非常慢,你知道会是什么吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-21
    • 1970-01-01
    相关资源
    最近更新 更多