Objective c 在类之间传递数据

Objective c 在类之间传递数据,objective-c,cocoa,Objective C,Cocoa,我开发了一个智力竞赛游戏,一切都很好,但有一件事我想改进: 我的问题是我有3个视图控制器。在第一个视图控制器中,用户选择单人或多人模式 第二个ViewController是问答游戏。 但是现在在第三个ViewController(结果屏幕)中,我需要知道用户是选择单人模式还是多人模式 我不知道如何将此布尔值从ViewController 1传递到ViewController 3 目前,我在每个ViewController中都有一个布尔值,只需将此变量从View1传递到View2,然后再传递到Vi

我开发了一个智力竞赛游戏,一切都很好,但有一件事我想改进: 我的问题是我有3个视图控制器。在第一个视图控制器中,用户选择单人或多人模式

第二个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
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
现在,您可以在控制器代码中使用布尔值:include
“QuizModel.h”
,并编写

if ([QuizModel instance].isMultiplayer)


如果您愿意,可以使用appdelgate解决此问题problem@AalokParikh如何使用app delegate实现此目的?只需在appdelegate中声明一个ivar,然后使用appdelegate的变量即可完成此操作,如在VC1中分配此变量,然后在VC3中访问它。需要代码,然后请求它,我会将其交给youPerfekt解决方案!这正是我想做的。谢谢我对这个话题很感兴趣,因为它是非常基本的,所以还有其他的可能性吗?
[QuizModel instance].isMultiplayer = YES;