The reason was that removing the table columns from the table prevented the 
crash from happening.

However, simply setting the the datasource and delegate to nil works as well 
and is a better solution.

Without any table columns, even though the table might have been marked as 
dirty, neither the datasource nor delegate was accessed.

The table is also owned by the the scrolling view and therefore the window and 
would not be deallocated here...it will stick around long after the controller 
is deallocated.

This is all easily demonstrated by downloading and playing with the sample 
project.


On Jan 19, 2011, at 7:35 PM, Graham Cox wrote:

> 
> On 20/01/2011, at 11:28 AM, Corbin Dunn wrote:
> 
>>      for ( column in tableColumns )
>>      {
>>              [table removeTableColumn:column];
>>      }
>>      
>>      [table release];
> 
> 
> Since the table owns its columns, why not just release the table - if it gets 
> deallocated the columns will go too. As you said this was the clean-up when 
> the window is deallocated, then the table WILL be deallocated here.
> 
> Is there some other reason you're going to these unnecessarily complicated 
> lengths?

_______________________________________________

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]

Reply via email to