1

我的应用程序中有一个帮助模式,当应用程序处于帮助模式时,它“告诉”所有按钮的行为不同。

我希望设置一个全局布尔值来指示应用程序是否处于帮助模式。

什么是最佳实践?

谢谢沙妮

4

2 回答 2

1

我建议将它放在 App Delegate 中,然后通过以下方式访问它:

AppDelegate *myAppDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
myAppDelegate.yourboolean = YES;

并继续前进。或者使用 NSNotification。当您的应用程序进入帮助模式时,在打开帮助模式的视图控制器中设置 NSNotification。

//Put this right after the switch for help mode is turned on!

    [[NSNotificationCenter defaultCenter] postNotificationName:@"helpModeOn" object:yourboolean];

并且在帮助模式影响的所有其他视图控制器或文件中应该有这个:

-(void)viewDidLoad:
{
        [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(ThingYouWantToDoWhenHelpModeIsOn:) name:@"helpModeOn" object:nil];
}

- (void)ThingYouWantToDoWhenHelpModeIsOn:(NSNotification *)notification{
        // Make sure you have an BOOL in your header file for all the other view controllers
        ThatBooleanValue = [notification object];
        [self performSelector:@selector(OtherThings:) object:ThatBooleanValue];
}

希望这可以帮助!

于 2012-07-15T14:58:07.187 回答
0

您可以设置一个全局静态布尔值,并通过一些 .h 文件使其作为外部可用。在某些情况下,这是一种完全可以接受的方式。

如果您希望用户以他们离开的方式返回您的应用程序,例如他们现在处于帮助模式,离开并在第二天返回并且仍然处于帮助模式,那么我可以通过 NSUserDefaults 使用 Preferences 来做到这一点。

于 2012-07-15T14:08:57.930 回答