【问题标题】:MacOS binding multiple entities to viewcontrollers (Master/Detail)MacOS 将多个实体绑定到视图控制器(Master/Detail)
【发布时间】:2017-09-01 23:12:54
【问题描述】:

在这个问题中,一个出色的分步列表显示了如何将实体绑定到视图控制器(在 MacOS 中,而不是在 iOS 中)。

Step be step instruction to binding array controller to core data and view controller.

我似乎无法为 Master/Detail 安排找到相同的方法,我将从另一个问题中列出的相同步骤开始,然后将另一个数组控制器连接到另一个实体,该实体包含在中选择的项目的详细数据主阵列控制器。

有人可以提供一个简洁的“简单”示例吗?

【问题讨论】:

  • 明细表视图是否在同一个视图控制器中?
  • 有一个选项卡视图控制器,第一个选项卡用于master选择和编辑,其余选项卡显示master的各种子属性。它是一个故事编辑器,主人是故事实体 - 名称、作者、摘要、音高等。另一个选项卡可能是字符、名称、背景、个性等。每个故事都可能/可能有自己的一组字符或一些字符可以在多个故事中分享。因此,master 将在一个选项卡中,而子项将在单独的选项卡中,它们都共享相同的选项卡控制器,但单独的视图控制器。每个都有自己的实体。
  • 谢谢,我看到了,但无法将其转换为核心数据。我不明白如何同步两个数组控制器上的“添加”按钮,并且我不明白在持久存储的情况下我的内容对于详细数组控制器的绑定。我觉得自己像个白痴,这似乎是一件极其简单的事情,我是新手,想不通。谷歌并没有太大帮助,因为互联网上 99% 的核心数据主/详细示例都是基于 iOS 的。几乎就像 MacOS 被抛弃给那些已经知道如何在其中编程的人一样。
  • 我熟悉阵列控制器和核心数据,但我在故事板方面遇到了困难。这不是一件极其简单的事情。我会写一个答案。

标签: macos core-data master-detail nsarraycontroller


【解决方案1】:

将另一个阵列控制器连接到另一个包含主阵列控制器中所选项目的详细数据的实体很容易。将detail数组控制器的Content Set绑定到master数组控制器,Controller Keyselection,Model Key Pathcharacters(子关系)。但是,如果数组控制器不在同一个视图控制器中,这并不容易。

解决方案 A:将主阵列控制器放在选项卡视图控制器中。 Xcode Bind a Text Field to the Selected Item in a Table View From a Different ViewController

解决方案 B:在细节视图控制器中放置一个镜像主阵列控制器。 Using an NSArrayController in Multiple Storyboard Scenes 确保主阵列控制器保持同步。

方案 C:在代码中将 details 数组控制器绑定到 master 数组控制器。

以及其他解决方案。

【讨论】:

    猜你喜欢
    • 2016-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多