我真的需要一些帮助.自从我开始使用
Cocoa进行编程以来,我遇到了多个视图控制器和阵列控制器问题.我总是遇到一些糟糕的粘合代码和糟糕的代码结构.
我正在开始一个新项目,并且希望这次能够做到正确.
主要问题是:
假设我有一个基于文档的应用程序(!),它有点像一个主要细节的东西.它与10.10的故事板
一个带有表的视图,另一个带有条目的信息.
我需要一些基本的结构帮助.信息存储在一个数组中,这意味着我需要一个NSArrayController.如果我将一个Object放入存储mutablearray的IB中,我需要将它和arraycontroller放入故事板的同一场景中.我现在如何从另一个viewcontroller中访问任何内容?
这通常是怎么做的?如果我在FirstViewController中引用NSArrayController我有它,但我需要在SecondViewController中对数据进行一些工作,而不仅仅是显示它,我需要用数据来计算.我不能在SecondViewController中放置另一个NSArrayController,因为那时我需要将另一个Object放入场景中,它将是一个新的,而不是带有数据的旧的.
我不知道我是否遗漏了一些明显的东西,但我无法理解这一点.我需要在多个ViewControllers中访问多个地方的数据数组,而不仅仅是在IB中,我还需要在代码中使用数据.
这个问题演变成一个更大的问题,但如果我能从这个想法得到一些帮助,我可以自己解决它.
在此先感谢您的一些基本指导.
编辑
谷歌几乎整整一天之后好吧我有点介意,没有人知道这个,因为所有其他类似我的问题都没有得到答案,或者如果没有做更多的工作,这是不可能的?我能想到的只是在windowcontroller中引用ArrayController并以某种方式告诉viewControllers使用该数据但是首先在osx上使用故事板是什么意思?
如果Apple真的发布了Sketch的故事板版本(草图“下一代”),我想我会更好地了解如何做到这一点,就像他们在wwdc视频中谈到它一样,那里有一些想法但是是的.今天我不认为这可能与故事板.我将不得不继续这样做.
-Benjamin
最佳答案 这可以做到!诀窍是使用多个NSArrayController,其selectionIndexes通过中央数据源绑定在一起.
我在这里用一个示例项目演示了这个:
https://github.com/acwright/StoryboardBindingsExample
另请参阅我在这里提供的答案:https://stackoverflow.com/a/29904620/296708