iPhone用アプリをビルドしています。アプリの起動が2回目に異なるビューを表示します
私は2つのビューを持っています。最初にユーザーがアプリを起動すると、最初のビューを表示したい、彼はボタンを押して2番目のビューに移動します。
彼が2回目にアプリを起動すると、2番目のビューに直接ジャンプします。
あなたは正しい方向に私を指摘できますか?
iPhone用アプリをビルドしています。アプリの起動が2回目に異なるビューを表示します
私は2つのビューを持っています。最初にユーザーがアプリを起動すると、最初のビューを表示したい、彼はボタンを押して2番目のビューに移動します。
彼が2回目にアプリを起動すると、2番目のビューに直接ジャンプします。
あなたは正しい方向に私を指摘できますか?
私はあなたがNSUserDefaultsになっているはずです。この
-(BOOL) shouldSkipFirstView
{
//boolForKey returns NO if that entry does not exist or is not associated with a bool
return [[NSUserDeafults standardUserDefaults] boolForKey:@"shouldSkipFirstView"];
}
-(void) skipFirstViewInFuture
{
[[NSUserDeafults standardUserDefaults] setBool:YES forKey:@"shouldSkipFirstView"];
[[NSUserDeafults standardUserDefaults] synchronize]; //optional line
}
-(UIViewController*) getStartupViewController
{
if([self shouldSkipFirstView])
{
[self skipFirstViewInFuture];
return [[[MySecondViewController alloc] init] autorelease];
}
else
{
return [[[MyFirstViewController alloc] init] autorelease];
}
}
ためNSUserDefaults
を使用します。このコンセプトは、アプリケーションが最初に読み込まれて最初のビューが表示されるときに、プリファレンスとして値を保存することです。次に、あなたのアプリケーションが開くたびに、その設定値が設定されているかどうかをチェックし、設定されている場合は、2番目のビューを表示します。
変数を作成してNSUserDefaultsに保存すると、初めてアプリが読み込まれるので、trueに設定してビュー1を表示し、falseに設定します。 2回目がfalseの場合はビュー2を表示し、それをtrueに設定します。
コードはアプリ内にある必要があります。アプリデリゲートでの起動が完了しました。
アプリが開かれたという記録が必要です。たとえば、アプリケーションのバージョンを含むNSUserDefaultsにオブジェクトを格納することができます。これは、アプリケーションの起動が完了したときに設定されます。そのキーのオブジェクトがまったく存在するか、記録されたバージョンが現在のバージョンよりも低いかどうかを確認できます(たとえば、バージョンが変わるたびに表示するなど)。