Ответ 1
Я хотел бы расширить каждый node в моем -awakeFromNib().
Как Mac OS X 10.5, [outlineView expandItem:nil expandChildren:YES]
.
В предыдущих версиях Mac OS X вам нужно будет перебирать от 0 до количества строк, получая элемент для каждой строки с помощью [outlineView itemAtRow:row]
и сохраняя эти элементы в массиве, затем перебираем массив и передаем каждый элемент метода expandItem:expandChildren:
. (Вы не можете смешивать две петли, потому что расширение элемента, и все его потомки изменят индексы строк своих последующих братьев и сестер, поэтому сначала необходимо собрать все элементы верхнего уровня, а затем развернуть их, как только у вас есть все они. )
Я также хотел бы программно выбрать первый дочерний элемент первого node в то же время.
Сразу после выше, это будет строка 1.
Контурное представление представляет собой вид таблицы, поэтому вы будете использовать один из методов NSTableView: [outlineView selectRowIndexes:[NSIndexSet indexSetWithIndex:1] byExtendingSelection:NO]
.