Re: Cleaning up weak references ( was Re: Odd Crash when adding table columns manually )
Re: Cleaning up weak references ( was Re: Odd Crash when adding table columns manually )
- Subject: Re: Cleaning up weak references ( was Re: Odd Crash when adding table columns manually )
- From: Eric Gorr <email@hidden>
- Date: Thu, 20 Jan 2011 20:51:22 -0500
On Jan 20, 2011, at 4:27 PM, Corbin Dunn wrote:
> Hi Eric,
>
> On Jan 20, 2011, at 9:26 AM, Eric Gorr wrote:
>
>>
>> On Jan 20, 2011, at 12:17 PM, Kyle Sluder wrote:
>>
>>> On Thu, Jan 20, 2011 at 7:22 AM, Eric Gorr <email@hidden> wrote:
>>>> Based on my current understanding, the dealloc should be setting it's datasource and delegate to nil. Correct? If so, I will file a bug.
>>>
>>> No. It is the responsibility of the delegate to set the table view's
>>> backpointer to nil. The delegate usually has an owning reference to
>>> the table view. If -dealloc is being called on the table view, but the
>>> delegate still has a pointer to the table view, that means a memory
>>> management error has occurred.
>>
>> I think you misunderstood and I didn't write that sentence as clearly as I could.
>>
>> For a specific example, check out the AnimatedTableView sample code from Apple. The ATColorTableController class is a datasource for the table, but it's dealloc looks like:
>>
>> - (void)dealloc
>> {
>> [_colorList release];
>> [_colorNames release];
>> [_window release];
>> [super dealloc];
>> }
>>
>> Based on my current understanding, the table controller's dealloc (above) should be setting the table datasource and delegate to nil. Correct? If so, I will file a bug.
>
> I wrote that sample, and gave the WWDC talk based on it a few years ago. I also "own" NSTableView.
>
> Yes, please do file a bug. The sample should set the delegate/datasource to nil, as it is good practice to do so, and we can update the sample.
Bug filed: rdar://8896270
> thanks for catching this!
You're welcome.
This has been a very interesting thread.
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden