В моем приложении, как и во многих приложениях Mac, у меня есть список источников. На данный момент это NSOutlineView, связанный с NSTreeController. Я могу довольно легко добавлять элементы к нему, и даже смог дублировать внешний вид «списка источников» с серыми заголовками всех заглавных букв и всем. Есть кое-что, что уклоняется от меня, и это сводит меня с ума.
Как можно добавить ребенка в определенный элемент дерева? Например, допустим, я создал предмет под названием «Сыр». Я уже добавил двоих детей в сыр, названный "Чеддер" и "Швейцарский". Как я могу добавить «Longhorn Colby» в список детей теперь, когда мой метод начального добавления завершен?
Я гуглил, но не могу найти простой, прямой ответ. Из того, что я вижу, однако, это излишне сложно и похоже на требование конгресса сделать что-то столь же простое, как завтрак. Пожалуйста, поправьте меня, если я ошибаюсь.
Обновление:
Я не верю, что использую подтипы. До сих пор вот как я заполнял свое дерево:
[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 используется для обозначения того, что этот элемент является одним из заголовков в виде структуры.