Re: NSLog object = nil?
Re: NSLog object = nil?
- Subject: Re: NSLog object = nil?
- From: Laurent Daudelin <email@hidden>
- Date: Tue, 20 Aug 2013 18:17:07 -0400
Wouldn’t be possible to implement dealloc in that class and put an NSLog call there? Of course, in an ARC project, you wouldn’t call [super dealloc] but would that cause a problem?
-Laurent.
--
Laurent Daudelin
AIM/iChat/Skype:LaurentDaudelin http://www.nemesys-soft.com/
Logiciels Nemesys Software email@hidden
On Aug 20, 2013, at 17:45, Ken Thomases <email@hidden> wrote:
> On Aug 20, 2013, at 4:32 PM, Diederik Meijer | Ten Horses wrote:
>
>> An itemStore object creates a worker object (property of itemStore object) that hold a weak reference back to the itemStore object;
>> When the worker classes is done, it sets the itemStore object (of which the worker class itself is a property) to nil.
>
> It doesn't set the object to nil. It sets its reference to the itemStore object to nil.
>
>> This project uses ARC.
>>
>> So within itemStore I do:
>> self.worker = [[Worker alloc] init];
>> [self.worker setItemStore:self];
>>
>> In Worker.h I do
>> @property (nonatomic, weak) ItemStore *itemStore;
>>
>> In Worker.m, when all its tasks are done, I do
>> self.itemStore = nil;
>>
>> I assume this completely destroys the itemStore object and all objects it exclusively owns.
>
> No. The itemStore property of Worker is weak. That means it does not influence the lifetime of the itemStore object it references. Setting the reference to nil simply makes it no longer reference that object.
>
>
>> Is there any way to NSLog the destruction of the itemStore object?
>>
>> I tried putting a log in itemStore's dealloc method, but it doesn't show up in the console.
>
> Putting a call to NSLog() in the -dealloc would be the way to detect it. Nothing is showing up because the itemStore object is not being deallocated.
>
> If you want to deallocate it, you have to make sure to clear all strong references to it. Clearing weak references doesn't help.
>
> Regards,
> Ken
>
>
> _______________________________________________
>
> 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
_______________________________________________
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