I would have assumed that the selection tracks an /item/, and
doesn't just sit on a particular row.
Is this behavior to be expected? Seems kinda weird to me.
Well, since you didn't expect it, it is "not expected". However, I do
believe that this is the way it has always worked. Probably has
something to do with the data source being a separate object.
In my code, I get the 'selectedObjects' before -reloadData, then after
-reloadData, restore it. Here is some ugly old code I found while
verifying my memory:
// Restore selection
e = [selectedObjects objectEnumerator] ;
NSMutableIndexSet* selectionIndexes = [[NSMutableIndexSet alloc]
init] ;
while ((item = [e nextObject])) {
int index = [outlineView rowForItem:item] ;
if (index != NSNotFound) {
[selectionIndexes addIndex:index] ;
}
}
[outlineView selectRowIndexes:selectionIndexes
byExtendingSelection:NO] ;
[selectionIndexes release] ;
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com