2012-01-02 34 views
2

私は以前この特定の方法で対処していないという問題を抱えています。たとえば、各タブに1つずつ、4つのビューを持つタブバーアプリがあるとします。明らかに、アプリケーションは起動するように指示されたビューコントローラで起動するように強制されますが、その後、次に読み込むタブ(ビュー)を選択するのはユーザーの責任です。iPhone - 各ビューがロードされていないか確認してください。

問題は、特定のビューが最初に読み込まれたときにのみ各タブのビューを表示したいという事実から来ています。通常、あなたはこれを行うだろう:

BOOL foo = [[NSUserDefaults standardUserDefaults]boolForKey:@"previouslyLaunched"]; 
    if (!foo) 
    { 
     NSLog(@"FirstLaunch"); 
     [[NSUserDefaults standardUserDefaults]setBool:YES forKey:@"previouslyLaunched"]; 

     ///Do first run view initializaton here//// 
    } 

しかし、一度それを行うことだけでタブ1のためのビューが表示されない他の3つまり、アプリのすべてのためのNSUserDefaultを設定します。だから、私の質問は、最初の各ビューの読み込み時にのみ、4つのタブのそれぞれのビューをどのように表示するのですか?これは、ユーザーが任意の順序で任意のタブを選択できるため、複雑な質問です。そのため、私はパスを導くことができません。

ビューごとに異なるキーを使用する必要がありますか?それは働くだろうか?それがここでの行動の最良のコースかもしれないようですが、これは私が初めてNSUserDefaultsと働いているので、少し失われています。

ご協力いただきありがとうございます。

+4

私はちょうどビューごとに異なるキーを使用したいと思います。それには問題ありません。 –

+1

NSUserDefaultsは基本的にplist(別名シリアライズド・ディクショナリ)です。これを念頭においてください。 – Till

+0

あなたのおかげで素晴らしいです!私はそれを覚えていましたが、私の理解が正しいことを確かめたいと思いました - 私はObj-Cには比較的新しいことが分かります。これは完全に機能します。 –

答えて

1

ビューごとに異なるキーを使用:

例えばviewController1以前に開始、viewController2以前に開始...など

関連する問題