【问题标题】:Core Data bindings with subviews and multiple NIBs带有子视图和多个 NIB 的核心数据绑定
【发布时间】:2009-09-07 04:10:40
【问题描述】:

我有一个基于文档的 Core Data 应用程序。我的主要核心数据实体有几个字符串字段,其中大部分绑定到 NSTextFields,但有一个绑定到 NSTextView。

我正在使用 Hillegass 书中所述的视图切换技术(使用多个视图控制器)。我所有的子视图都由 ManagedViewController 控制,这是我的 NSViewController 的子类,它有一个 managedObjectContext 字段。

我的子视图存在于一个单独的 nib 文件中。出于某种原因,我在该 nib 中设置的绑定不起作用 - 但如果我在主 nib 文件中以完全相同的方式设置小部件和绑定,它们就可以正常工作。

看图:

Screenshot http://img180.imageshack.us/img180/3391/screenshot.gif

在主 nib 文件中,我有一个树控制器,它的 managedObjectContext 绑定到文件所有者的 mOC(文件所有者是 MyDocument)。 NSTextField 的值(是的,值——它不是富文本)绑定到 treeController.selection.content(其中 content 是实体的字符串属性)。没问题。这工作正常。

在第二个 nib 文件中,我有另一个树控制器,其 managedObjectContext 绑定到文件所有者的 mOC(文件所有者是我的 ManagedViewController)。 NSTextField 的值绑定方式同上。

在我的代码中,我进行了测试以确保两个 managedObjectContext 引用同一个对象。他们有,而且不是零。

我没有收到错误——只是这些值永远不会与子视图中的 NSTextViews 绑定。他们总是零。

另外,我尝试过 NSTextFields——同样的问题。

关于如何使 Core Data 绑定与子视图和多个 NIB 很好地配合的任何想法?

【问题讨论】:

    标签: objective-c cocoa core-data binding nstextview


    【解决方案1】:

    你有两个树控制器。每个人都有自己的选择知识。尝试将两个树控制器中的 selectionIndexPaths 绑定到文档的属性(您需要提供一种通过视图控制器到达那里的方法)。

    【讨论】:

    • 感谢您的建议,但我有点(n00bishly)困惑。我的文档如何能够告诉树控制器当前的选择?据我了解,选择只存在于树控制器和大纲视图中。
    • 您可以在文档中添加一个属性来保存这些索引路径。请记住,您不仅有一个树控制器er,您还有两个树控制器er,每个树控制器对选择的内容都有自己的想法。这就是为什么您需要为它们提供一些通用对象来保存该信息。您的文档是我指定担任该角色的对象。
    • 彼得——谢谢,它最终成功了。我以为我误解了你所说的,这就是为什么它仍然无法正常工作,但应该归咎于另一个(或三个)错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多