我以前的解决办法如下所示。 将“didAddRow”活动归类可能还为时过早,因此新的行文(滚动到......)尚未开通。
第一,建立你自己的“附加”行动,保持旗帜,提醒并号召控制者增加行动。
-(IBAction)addNewDictItem:(id)sender {
[theDictArrayController add:sender];
dictElementAdded=TRUE;
}
Now, when the controller adds an object, it selects this object automatically.
Just "hop on" this event by catching the notification from the tableview.
Nice thing about it: lines and views are created before, and the new row is ready to be selected.
-(void)tableViewSelectionDidChange:(NSNotification *)aNotification {
NSTableView * tableView=[aNotification object];
if (dictElementAdded && tableView == dictTableView ){
NSInteger row= [[tableView selectedRowIndexes ] firstIndex ];
[dictTableView scrollRowToVisible:row];
dictElementAdded = FALSE;
}
}