【发布时间】:2014-06-05 08:05:43
【问题描述】:
我目前正在创建我的第一个 Swift / Mac 应用程序,但我遇到了在多个控制器之间共享模型(在 MVC 意义上)的问题。
例如,在 C# 中,首先创建一个模型,然后创建多个视图模型,然后将该模型插入其中,如下所示:
var gameEngine = new MyGameEngine()
var vm1 = new ViewModelCockpit(gameEngine);
var vm2 = new ViewModelOptionsDialog(gameEngine);
但是,在 XCode 中,我的控制器似乎应该放入 .xib 中,而这些控制器又会自动实例化。
鉴于 Swift 的语言特性和 XCode/Objective-C 现有标准,最好和最专业的方式是拥有多个可以从多个控制器共享和访问的 重量级 模型? (重量级,因为它们需要一些时间、内存或复杂的逻辑/依赖项)来加载,并且可能不容易放入 .xib 本身。
可能的答案可能是:全局变量、一些魔法/静态属性……理想情况下,解决方案应该在软件工程意义上感觉可靠,并采用 Swift 的语言特性考虑到。
【问题讨论】:
-
你从哪里得到“新”的?此外,下载 WWDC 应用程序并观看视频。这就是我们目前正在学习的方式。
-
上面的新 X() 是您在 C# 中的操作方式。我正在寻找 XCode / IB / Swift 中一般问题的等效解决方案。
标签: objective-c xcode swift