Hi,

Yes my Document class releases the array in its dealloc method and all Node
objects in the array are properly dealloc'ed when deallocing the document.

However, I think the problem is unrelated to the retaining of the array
member of the document class but rather to the retaining of elements added
to the array via NSTreeControllers add:sender and remove:sender class.

Adding a node object through this method creates a node object in the
document array member with a retain count of 2. The remove:sender method
correctly removes the object from the document's array but only decrements
the node object's retain count to 1 - meaning that the objects are never
dealloc. As I see it, this is a memory leak in NSTreeController as all "my"
external references to the Node objects are lost.

Thanks,
Mads



> Mads Paulin wrote:
>
>> #import <Cocoa/Cocoa.h>
>>
>> @interface MyDocument : NSDocument
>> {
>>      NSMutableArray *array;
>> }
>>
>> @property (readonly) NSMutableArray* array;
>>
>> @end
>>
>> All I changed in the doc impl is
>> @synthesize array
>> and
>> array =[ [NSMutableArray]alloc init]; in the init method.
>
>
> Does your MyDocument implementation ever release array?  If not, then
> what happens to the NSMutableArray and what it contains when
> MyDocument is dealloc'ed?  I don't think @synthesize will synthesize
> any cleanup for you.
>
>    -- GG
> _______________________________________________
>
> 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/mads%40madspaulin.dk
>
> This email sent to m...@madspaulin.dk
>

_______________________________________________

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