私のアプリケーションには、多くのMacアプリケーションと同様に、ソースリストがあります。現時点では、これはNSTreeControllerにバインドされたNSOutlineViewです。非常に簡単にアイテムを追加でき、灰色のすべて大文字のヘッダーなどを使用して、「ソースリスト」の外観を複製することもできます。しかし、私を回避する何かがあり、それは私をばかげている。
ツリー内の特定のアイテムに子を追加するにはどうすればよいですか?たとえば、「チーズ」というタイトルのアイテムを作成したとします。「チェダー」と「スイス」という2人の子供をチーズに追加しました。最初の追加メソッドの実行が終了したので、子のリストに「LonghornColby」を追加するにはどうすればよいですか。
私はそれをグーグルで検索しましたが、単純で直接的な答えを見つけることができません。しかし、私が見ることができることから、それは不必要に複雑であり、朝食を食べるのと同じくらい簡単なことをするために議会の行為を要求することに似ています。私が間違っている場合は訂正してください。
アップデート:
サブタイプを使用しているとは思わない。これまで、これまで私がツリーにデータを入力してきた方法は次のとおりです。
[treeController addObject:[NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES], @"isSourceGroup",
@"CHEESE", @"name",
[NSArray arrayWithObjects:
[NSDictionary dictionaryWithObjectsAndKeys:
@"Cheddar", @"name",
nil],
[NSDictionary dictionaryWithObjectsAndKeys:
@"Swiss", @"name",
nil],
nil], @"children",
nil]];
「isSourceGroup」ビットは、このアイテムがアウトラインビューのヘッダーの1つであることを示すために使用されます。