Re: Question about -awakeAfterusingCoder:
Re: Question about -awakeAfterusingCoder:
- Subject: Re: Question about -awakeAfterusingCoder:
- From: Graham Cox <email@hidden>
- Date: Thu, 15 Apr 2010 11:57:02 +1000
On 15/04/2010, at 11:48 AM, Murat Konar wrote:
> I've always avoided using setters in init methods for exactly the problem you've run into. A setter's behavior can depend on an object's state, and by definition, the object's state is not really properly setup *during* init.
I agree in general, and for other -init methods, but for dearchiving using setters is usually a huge win in not duplicating code, particularly for more complex properties such as composition with other objects, and for not having to think about memory management (setters are the only place where other objects are retained & released apart from init and dealloc).
That might be a self-delusion though, and maybe this is the more fundamental problem. It's a huge thing to change now though, and 'locked' is the only property that interacts with others.
On 15/04/2010, at 11:23 AM, Graham Cox wrote:
> So I'm wondering if I can use -awakeAfterUsingCoder:. Is it safe to ask the coder to decode a value at that time? Since it runs after all subclasses have been initedWithCoder, it ought to be the right time to finally set the true state of the lock. I have misgivings however that this is not its intended purpose.
Having tried this, it works perfectly... I'm still a bit leery that it's an abuse though.
--Graham
_______________________________________________
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