Sure. Here is what happens in the method targeted by the button. From the tableview ( = sender) it gets the first column, from that it gets the array controller behind the column, from that it gets the selection and finally it gets the string I am after. All of this is in a core data app, and I am not using a data source per se. The problem seems to be the timing of it all, rather than how the method works, because when the selection doesn't change in the button click, everything is fine.

        //get 1st column in sender:
        NSTableColumn *tableColumn = [[sender tableColumns] objectAtIndex:0];
        // get bound-to array controller
NSArrayController *arrayController = [[tableColumn infoForBinding:@"value"] valueForKey:@"NSObservedObject"];
        // get selected object's URL:
NSString *selectedPersonPage = [[arrayController selection] valueForKey:@"URLFragment"];
        NSLog(@"selectedPersonPage: %@", selectedPersonPage);

Thanks again,

Rainer

On Dec 27, 2009, at 18:10 , Paul Bruneau wrote:

On Dec 27, 2009, at 9:00 PM, Rainer Standke wrote:

Hello all,

I have a table view with a column that holds a button cell. When the user clicks the button I need to open a web browser with an URL that is stored in the object represented by the table view's row. All of this is in a Core Data app.

When the button is clicked in a row that is already selected everything works as expected.

When the user clicks a button in a row that is currently not selected, then I get the URL for the row that's in the process of being de-selected, because the method targeted by the button runs before the selection has changed to the new row.

What can I do about this?

Can we see the code in the method targeted by the button? It is good to show some code when asking for help.

Although it might not be necessary--I suspect you are using - selectedRow instead of -clickedRow to get the row the user clicked. Try -clickedRow.

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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 arch...@mail-archive.com

Reply via email to