我真的需要一些帮助。自从我开始使用Cocoa进行编程以来,我一直无法解决多个视图控制器和数组控制器的问题。我总是遇到一些不良的粘合代码和不良的代码结构。
我正在开始一个新项目,希望这次正确。
主要问题是:假设我有一个基于文档的app(!),它有点像主从细节。它与10.10上的情节提要一起,一个带有表的视图,另一个带有条目的信息。我在这里需要一些基本的结构帮助。该信息存储在一个数组中,这意味着我需要在某个地方安装NSArrayController。如果将对象放入存储可变数组的IB中,则需要将其和arraycontroller放在情节提要的同一场景中。现在如何从另一个ViewController中访问任何内容?
通常如何做?如果我在FirstViewController中引用了NSArrayController,则在那儿有它,但是我也需要对SecondViewController中的数据做一些工作,不仅要显示它,还需要对数据进行计算。我不能在SecondViewController中放置另一个NSArrayController,因为那时我也需要在场景中放置另一个Object,它将是一个新对象,而不是其中包含数据的旧对象。
我不知道我是否在这里缺少明显的东西,但是我无法解决这个问题。我需要在多个位置,在多个ViewControllers中访问数据数组,而不仅仅是在IB中,我还需要在代码中使用数据。
这个问题演变成一个更大的问题,但是如果我可以在这个想法上得到一些帮助,我也许可以自己解决。
在此先感谢您的一些基本指导。
编辑好了,在搜索了整整一天之后,我有点觉得没有人知道这一点,因为所有其他与我类似的问题都没有得到答案,或者如果不做更多工作,这真的不可能吗?我能想到的就是在windowcontroller中引用ArrayController并以某种方式告诉viewControllers使用该数据,但是首先使用osx上的故事板有什么意义呢?
我想如果苹果像他们在wwdc视频中谈到的那样,实际上发布了Sketch的情节提要版本(草图为“下一代”),我会更好地了解如何做到这一点,但确实有一些想法,但是。今天,我认为使用情节提要板是不可能的。我将继续按照自己的方式做。
-本杰明
可以做到的!关键是使用多个NSArrayController
的其selectionIndexes
通过一个中央数据源结合在一起。
我已经在这里通过示例项目对此进行了演示:https : //github.com/acwright/StoryboardBindingsExample
另请参阅我在此处提供的答案:https : //stackoverflow.com/a/29904620/296708
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句