4

私のセットアップ:

NSTableViewを使用してタブを表示し、ユーザーがタブを選択できるようにするタブベースのアプリケーションを作成しています。

NSTableViewがNSArrayControllerにバインドされています(tableView.contentはarrayController.arrangedObjectsにバインドされ、tableView.selectionIndexesはarrayController.selectionIndexesにバインドされています)。

tableViewバインディング

arrayControllerのコンテンツは、ViewControllerのNSMutableArrayにバインドされています。

arrayControllerバインディング

私のarrayControllerは、挿入されたオブジェクトを選択するように設定されていません(スクリーンショットを参照

arrayControllerプロパティ

私の問題:

[myArrayController addObject:]を呼び出すと、selectedIndexが0に戻ります([Preserve Selection]がオンになっている場合でも)。私はこの振る舞いを望まない。オブジェクトを追加または削除した後も、選択範囲を同じタブに残したい。

誰かが以前にこの状況に遭遇したことがありますか?

4

1 に答える 1

0

「空の選択を回避する」の選択を解除すると、同様の問題が修正されました(最初に挿入されたオブジェクトが自動的に選択されました)。Apple は、配列内にオブジェクトが存在しない場合を除き、NSArrayController は選択を維持すると述べています。これは、既存の選択には影響しないように見えますが、試してみる価値はあります。

于 2013-12-11T07:04:07.217 に答える