On May 1, 2013, at 08:34 , "Gerriet M. Denkmann" <gerr...@mdenkmann.de> wrote:

> - (id)tableView:(NSTableView *)aTableView 
> objectValueForTableColumn:(NSTableColumn *)aTableColumn 
> row:(NSInteger)rowIndex
> {
>       NSDictionary *aLine = self.dataArray[rowIndex];
>       NSTableCellView *cellView = [ aTableView makeViewWithIdentifier: 
> @"DieSpalte" owner: self ];
>       [ cellView.textField setStringValue: aLine[kNameKey] ];
>       [ cellView.imageView setImage: aLine[kImageKey] ];
>       NSLog(@"%s %ld %@",__FUNCTION__, rowIndex, cellView);
>       return cellView;
> }

This is wrong. You should not create a cell view in this method, and you should 
not return a cell view as a result. The value returned from this method becomes 
the the "objectValue"  property of the cell view. Because you're trying to 
create the cell view in the wrong place, the table view is creating one for you 
(a different one), and that view isn't getting its text or image set to 
anything useful.

Instead, you should be putting the above code in a 
'tableView:viewForTableColumn:row:' delegate method. Since you're (apparently) 
not using any bindings within your cell view, you don't need objectValue at all 
-- neither the data source method nor the property.

_______________________________________________

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:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to