我正在制作初始菜单视图控制器,它设置主游戏视图控制器的设置..
所以在我的菜单游戏控制器中,我有
#import "MainGameViewController.h"
@implementation menuViewcontroller
......
-(void)setting{
NSMutableDictionary *regions =
[(MainGaimViewController *)self.delegate regions];
NSNumber *yesBool = [NSNumber numberWithBool:YES];
NSNumber *noBool = [NSNumber numberWithBool:NO];
[regions setValue:yesBool forKey:@"KM"];
[regions setValue:noBool forKey:@"KF"];
}
但是这给了我“成员'代表'的请求,而不是结构或联合
regions是主游戏视图控制器中的NSMutableDictionary。 所以我认为尽管导入,menuViewController仍然无法访问主游戏视图控制器中的函数/变量。 目前,我还没有在菜单实现文件中声明“类MainGameViewController”。这可能是为什么?我应该制作maingameviewcontroller的对象并使用它吗?
可能有什么不对? 请帮帮我......
答案 0 :(得分:1)
我发现将应用程序全局数据放在单独的单例类中而不是将它们放入应用程序委托对象并尝试将指针传递给根级视图控制器会更清晰,更清晰。视图控制器应该只关注管理视图和响应操作的工作,以及通过视图与数据模型交互。数据模型本身和应用程序全局数据通常应位于ViewControllers之外。单例模式非常适用于数据管理,因为数据可以轻松地用于应用程序中需要它的任何代码段,而不必担心设置委托协议,或者视图控制器是否拥有数据是否有效。
您可以看到我对此问题的答案,了解如何设置单例数据管理器类: