これはおそらく の経験不足によるものですが、NSOutlineView
これを行う方法がわかりません。行を正しく保存/書き込み/挿入/削除するという点で完全に機能する追加ボタンを備えたNSOutlineView
(優れたPXSourceListで実装された)があります。私は aNSTreeController
を使用せず、バインディングも使用しません。次のコードを使用してエンティティを追加します。
- (void)addEntity:(NSNotification *)notification {
// Create the core data representation, and add it as a child to the parent node
UABaseNode *node = [[UAModelController defaultModelController] createBaseNode];
[sourceList reloadData];
for (int i = 0; i < [sourceList numberOfRows]; i++) {
if (node == [sourceList itemAtRow:i]) {
[sourceList selectRowIndexes:[NSIndexSet indexSetWithIndex:i] byExtendingSelection:NO];
[sourceList editColumn:0 row:i withEvent:nil select:NO];
break;
}
}
}
追加ボタンを押すと、次のように新しい行が挿入されます。
クリックして行を選択し、 を押しenter
て編集すると、次のようになります。
私の質問は、ユーザーエクスペリエンスを向上させるために、プログラムで同じ状態 (フォーカス、選択、強調表示) を初めて取得するにはどうすればよいですか?