1

NSArray を使用してテーブルの選択したセルのインデックスを保存したいのですが、助けてもらえますか....

4

2 に答える 2

1

これには、ユーザーのデフォルトまたはプロパティ リストを使用できます。

ユーザーデフォルトの例。インデックスにアクセスできるコントローラー クラスがあり、起動時にそれを読み込み、更新されるたびに plist に書き込みます。

ある種のコントローラー クラスがある場合は、このコードを+ (void)initializeに配置します。変数が plist に存在しない場合は変数を初期化します。

+ (void)initialize
{
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    NSDictionary *appDefaults =
              [NSDictionary dictionaryWithObject:[NSNumber numberWithInteger:5]
                                          forKey:@"MyFunnyIndex"];
    [defaults registerDefaults:appDefaults];
}

あなたの-(void)awakeFromNib(ある種のコントローラークラスを使用していると仮定しています)で、最後に保存された値をロードします:

-(void)awakeFromNib
{
    int index = 
           [[NSUserDefaults standardUserDefaults] integerForKey:@"MyFunnyIndex"];
           [somethingThatNeedsIndex setIndex:index];
    // ...
}

インデックスが更新された場所 (または plist に書き込みたい場所) で、それを呼び出しましょう- (void)updateInterface:

- (void)updateInterface
{
    [[NSUserDefaults standardUserDefaults]
                     setObject:[NSNumber numberWithInteger:index]
                        forKey:@"MyFunnyIndex"];
    [[NSUserDefaults standardUserDefaults] synchronize];
}
于 2009-11-09T12:32:07.730 に答える
0

質問を正しく理解しているかどうかはわかりませんが、プロパティ リストを使用してこの情報を保存できるようです。プロパティ リストは非常に使いやすく、少量のデータでは非常に効率的です。

詳細については、「プロパティ リスト プログラミング ガイド」を参照してください。そこにはチュートリアルさえあります。

于 2009-08-06T22:54:16.363 に答える