アプリにヘルプモードがあり、アプリがヘルプモードのときにすべてのボタンの動作が異なるように「通知」します。
アプリがヘルプモードであるかどうかを示すグローバルブール値を設定したいと思います。
そのためのベストプラクティスは何ですか?
ありがとうシャニ
アプリにヘルプモードがあり、アプリがヘルプモードのときにすべてのボタンの動作が異なるように「通知」します。
アプリがヘルプモードであるかどうかを示すグローバルブール値を設定したいと思います。
そのためのベストプラクティスは何ですか?
ありがとうシャニ
App Delegateに入れて、そこから次の方法でアクセスすることをお勧めします。
AppDelegate *myAppDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
myAppDelegate.yourboolean = YES;
そしてその道を進みます。または、NSNotificationを使用します。アプリがヘルプモードになったら、ヘルプモードがオンになっているViewControllerでNSNotificationを設定します。
//Put this right after the switch for help mode is turned on!
[[NSNotificationCenter defaultCenter] postNotificationName:@"helpModeOn" object:yourboolean];
ヘルプモードが影響する他のすべてのViewControllerまたはファイルでは、次のようにする必要があります。
-(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として使用できるようにすることができます。これは、場合によっては完全に受け入れられる方法です。
ユーザーがアプリを離れたときと同じようにアプリに戻るようにしたい場合、たとえば、現在ヘルプモードになっている場合、次の日にアプリを離れて戻ってきてもヘルプモードのままにする場合は、NSUserDefaultsを介して[設定]を使用します。