On 1 May 2013, at 23:51, Quincey Morris <quinceymor...@rivergatesoftware.com> 
wrote:

> 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.

You are absolutely right. 
And I was confused, because before I implemented my data-source method 
numberOfRowsInTableView: I was told: " *** Illegal NSTableView data source 
(<TbViAppDelegate: 0x101a22760>).  Must implement numberOfRowsInTableView: and 
tableView:objectValueForTableColumn:row:" which seems not really true after all.

Thanks a lot!


Kind regards,

Gerriet.
_______________________________________________

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