如何在多个故事板视图之间共享模型?

时间:2011-11-12 05:05:05

标签: iphone objective-c ios cocoa-touch ipad

情况:

我正在写我的第一个iPhone应用程序;这是一个opengl游戏,我想使用单独的视图......第一个视图是菜单屏幕,一个普通的UIView / UIViewController,带有高分列表和一些用于配置和启动新游戏的按钮。第二个视图是GLKView / GLKViewController组合,它将显示游戏。

我有一个模型,其中包括游戏状态,玩家数据,高分列表等。我需要在两个视图之间共享此模型。我之前已经看过这样的示例,其中模型在应用程序委托中实例化,并且对它的引用被传递给需要访问它的每个视图控制器。我这样做,但我不知道如何访问我的故事板中的视图控制器。

我的问题:

这是我应该做的事情吗?重申一下,我希望我的模型由AppDelegate拥有,我将从应用程序传递对视图控制器的引用:didFinishLaunchingWithOptions:method。如果有更好的方法来解决这个问题,请告诉我。

假设以上是正确的做事方式,我该怎么做呢?我不确定如何访问故事板中的项目。

1 个答案:

答案 0 :(得分:0)

由于app delegate具有对视图控制器和模型的引用,因此无论何时模型发生更改,它都应该能够更新当前处于活动状态的视图。

理想情况下,模型不应直接与视图对话:它应告诉应用程序委托它已更改,然后应用程序委托将告知相应的视图进行更新。

认为这是你要问的问题;如果不是,让我知道我错过了什么,我会再次尝试回答。