1

NSArrayController から値をロードしたい NSTableView があります。配列は動的に構築され、変更される可能性があります。また、理想的には共有ユーザーデフォルトコントローラーにバインドして、選択したインデックスを NSUserDefaults に保存したいのですが、バインディングでそれを実現する方法がわかりません。これを行う方法はありますか?

拡大する..

私の配列には、カスタム クラスのインスタンスがあります。NSString フィールド、名前のみを表示したい。これは複数選択テーブル ビューです。変更したらすぐに保存したいと思います。

バインディングを介して Shared User Defaults Controller を使用してフィールドを設定に保存する方法を知っています。表示したいデータを表示するために配列コントローラーを使用するように TableView を設定する方法を知っています。

両方を同時に行うことはできないようです。

4

1 に答える 1

2

「値」のコントローラー キーと任意の名前のモデル キー パスを使用して、アレイ コントローラーの選択インデックスを共有ユーザー デフォルト コントローラーにバインドするだけです。NSKeyedUnarchiveFromData 値トランスフォーマーも選択する必要があります。次に、選択したインデックスを取得したいときにコードでこれを行うことができます (ここではログに記録しているだけで、バインディングで "selIndxs" という名前を使用しました)。

NSUserDefaults *ud = [NSUserDefaults standardUserDefaults];
NSLog(@"%@",[NSKeyedUnarchiver unarchiveObjectWithData:[ud valueForKey:@"selIndxs"]]);
于 2012-05-20T05:47:10.680 に答える