Подключите действие флажка к методу действия делегата в виде структуры.В методе действия установите свойство дочерних узлов и перезагрузите элемент и дочерние элементы.
- (IBAction)checkboxAction:(id)sender {
NSInteger row = [self.myOutlineView rowForView:sender];
if (row >= 0) {
id item = [self.myOutlineView itemAtRow:row];
if ([item isKindOfClass:[NSTreeNode class]]) {
BaseNode *node = [item representedObject];
if ([node isKindOfClass:[BaseNode class]]) {
for (BaseNode *child in node.children)
child.isSelected = node.isSelected;
[self.myOutlineView reloadItem:item reloadChildren:YES];
}
}
}
}