I replaced my code with this one: MyObject *p = [[MyObject alloc] init]; [arrayController addObject:p]; [p release]; [grid editColumn:0 row:[grid selectedRow] withEvent:nil selected:YES];
it works fine, NSTableView selects new row, -editColumn receives correct row number and starts editing. So, the question is: why do I need to call -rearrangeObjects? In what cases missing of this call will lead to problems? On Thu, Jul 10, 2008 at 12:49 AM, I. Savant <[EMAIL PROTECTED]> wrote: >> Same goes for -add: ... You'll need to force the array controller to >> -rearrangeObjects before asking the tableView to reload. If you're >> using Core Data, you'll probably also need to force a -fetch: before >> calling -rearrangeObjects, though I don't know for sure. >> >> This forces the array controller to do its thing right then and >> there. Of course short-circuiting the mechanism like that can cause >> validation problems, so be careful ... > > Sorry! I'm not thinking straight ... you will need to directly use > the -addObject: and -insertObject:atArrangedObjectIndex: methods > rather than -insert: or -add: for the above to work. This takes affect > immediately (but must still be rearranged via -rearrangeObjects). > > Also, you need to use the index of the newly-inserted object in the > array controller's -arrangedObjects array, not its contents (so you > get the correct row to edit in the table). > > -- > I.S. > _______________________________________________ Cocoa-dev mailing list ([email protected]) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]
