我在我的应用程序中有一个帮助模式,“告诉”所有按钮在应用程序处于帮助模式时的行为不同。我应该如何设置一个布尔值,这个布尔值可用于所有我的应用程序控制器?
我希望设置一个全球性的布尔值,表示如果应用程序是在帮助模式与否。
这是什么最佳实践?
感谢 沙尼
我在我的应用程序中有一个帮助模式,“告诉”所有按钮在应用程序处于帮助模式时的行为不同。我应该如何设置一个布尔值,这个布尔值可用于所有我的应用程序控制器?
我希望设置一个全球性的布尔值,表示如果应用程序是在帮助模式与否。
这是什么最佳实践?
感谢 沙尼
我建议把它在App代表,然后访问它通过:
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];
}
希望这有助于!
您可以设置一个全局静态布尔并使其可作为通过一些.h文件中的extern。在某些情况下,这是完全可以接受的方式。
如果您希望用户以他们离开它的方式返回到您的应用程序,例如他们现在处于“帮助”模式,第二天离开并返回并仍然处于帮助模式,那么我可以使用Preferences(通过NSUserDefaults) 。
NSUserDefault或Singleton类。 – nhahtdh 2012-07-15 14:06:07
我第二个单身人士。 – lnafziger 2012-07-15 14:08:10
或应用程序委托中的属性。 – msk 2012-07-15 14:08:16