我开发了一款问答游戏,一切都运行良好,但有一件事我想改进: 我的问题是我有 3 个 View Controller 。在第一个 View Controller 中,用户选择单人或多人模式。
第二个 ViewController 是问答游戏。 但现在在第三个 ViewController(结果屏幕)中,我需要知道用户选择的是单人模式还是多人模式。
我不知道如何将这个 bool 值从 ViewController 1 传递到 ViewController 3。
目前我在每个 ViewController 中都有一个 bool 值,只需将这个变量从 View1 传递到 View2,然后再传递到 View3。但我不喜欢这个解决方案。有没有办法与代表一起解决这个问题?或者您知道其他更好的解决方案吗?
提前致谢
最佳答案
模型- View - Controller 方法表明 bool 值属于应用程序的模型代码。使您的模型成为单例是很常见的事情:
测验模型.h
@interface QuizModel : NSObject
@property (nonatomic, readwrite) BOOL isMultiplayer;
-(id)init;
+(QuizModel*)instance;
@end
测验模型.m
static QuizModel* inst = nil;
@implementation QuizModel
@synthesize isMultiplayer;
-(id)init {
if(self=[super init]) {
self.isMultiplayer = NO;
}
return self;
}
+(QuizModel*)instance {
if (!inst) inst = [[QuizModel alloc] init];
return inst;
}
@end
现在您可以在 Controller 代码中使用 bool 值:包括 "QuizModel.h"
,然后编写
if ([QuizModel instance].isMultiplayer)
或
[QuizModel instance].isMultiplayer = YES;
关于objective-c - 在类之间传递数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11326761/