如何在NSViewController中正确执行依赖注入

时间:2016-02-06 22:53:05

标签: macos cocoa nswindowcontroller nsviewcontroller

我是一名iOS开发人员,试图整合一个小OSX应用程序。

我无法弄清楚的一件事是如何在我的viewControllers中正确地注入依赖项。

这是我的设置:

NSWindowController
|
+- NSSplitViewController
   |
   +- NSViewController
   |
   +- NSViewController

现在我想在开始加载他们的tableViews并询问一些数据之前,将我的数据堆栈注入所有viewControllers

第一次尝试:
来自iOS我挂钩到[AppDelegat applicationDidFinishLaunching]来创建我的数据堆栈并在根视图控制器上设置它以传递给它的孩子。
问题:为时已晚 - [NSViewController viewDidLoad]在此之前被调用(什么?)。在我有机会进行设置之前,我的TableView开始询问数据。

我接下来要做的是做一些日志记录,以了解应用程序设置周期是如何工作的。我发现按顺序调用实时循环方法:

[DKDSplitViewController viewDidLoad]
[DKDTableViewController viewDidLoad]
[DKDWindowController windowDidLoad]
[DKDWindowController awakeFromNib]
[AppDelegate applicationDidFinishLaunching:]

这对我来说似乎很奇怪,孩子们在父母面前被创造出来...... 我做错了什么或者这些是OSX的自然规则吗?

因此看起来,我应该在我的SplitViewController中进行设置。不知怎的,这感觉不对。

好的,那么如何将设置数据正确地注入OSX上的视图控制器?

0 个答案:

没有答案