Re: ARC dealloc best pratice
Re: ARC dealloc best pratice
- Subject: Re: ARC dealloc best pratice
- From: Jens Alfke <email@hidden>
- Date: Fri, 06 Feb 2015 12:46:44 -0800
> On Feb 6, 2015, at 11:55 AM, Jonathan Mitchell <email@hidden> wrote:
>
> The tableView.delegate is not a zeroing weak ref - in the lingo of ARC it is unsafe_unretained I believe
> self can be deallocated leaving tableView.delegate as a dangling pointer.
This is still a weak reference, it's just unsafe (non-zeroing.) You're right that these need to be cleaned up manually.
Come to think of it, I'm surprised that AppKit delegates are still unsafe-unretained. Why haven't these been converted to safe weak references yet?
> The problem is that there is, I believe, no way to accurately determine whether a or b is true in any particular instance!
It depends on the class. For example, NSURLConnection has a well-defined order in which it sends delegate messages, so it's possible to know when it's not going to send any more messages. But yeah, in a window's view hierarchy it's extremely unpredictable so it's important to zero out delegate references.
—Jens
_______________________________________________
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