我开发了一个问答游戏,一切都运行良好,但有一件事我想改进:我的问题是我有3个视图控制器.在第一个View Controller中,用户选择单人或多人模式.
第二个ViewController是测验游戏.但现在在第三个ViewController(结果屏幕)中我需要知道用户是选择单人还是多人模式.
我不知道如何将这个布尔值从ViewController 1传递给ViewController 3.
目前我在每个ViewController中都有一个布尔值,只是将这个变量从View1传递给View2然后传递给View3.但我不喜欢这个解决方案.有没有办法让我与代表解决这个问题?或者你知道其他更好的解决方案吗?
提前致谢
模型 - 视图 - 控制器方法表明布尔值属于应用程序的模型代码.将模型设为单例是很常见的事情:
QuizModel.h
@interface QuizModel : NSObject
@property (nonatomic, readwrite) BOOL isMultiplayer;
-(id)init;
+(QuizModel*)instance;
@end
Run Code Online (Sandbox Code Playgroud)
QuizModel.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
Run Code Online (Sandbox Code Playgroud)
现在您可以在控制器代码中使用布尔值:include "QuizModel.h"和write
if ([QuizModel instance].isMultiplayer)
Run Code Online (Sandbox Code Playgroud)
要么
[QuizModel instance].isMultiplayer = YES;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1869 次 |
| 最近记录: |