On Aug 3, 2009, at 6:32 PM, Kiel Gillard wrote:
On 04/08/2009, at 10:59 AM, Kyle Sluder wrote:
On Mon, Aug 3, 2009 at 5:47 PM, Kiel Gillard<kiel.gill...@gmail.com> wrote:
Do you have a documentation reference for that? I would have expected the isa swizzling to be an implementation detail of the runtime that is handled before my subclass inits. Of course, what I expect and what happens in
reality do not always match ;-)

The Objective-C 2.0 Programming Guide prescribes the use of direct
ivar access inside an initializer[1] and inside dealloc[2].

[1] http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/Articles/ocAllocInit.html#/ /apple_ref/doc/uid/TP30001163-CH22-SW14 [2] http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/Articles/ocProperties.html#/ /apple_ref/doc/uid/TP30001163-CH17-SW16

Thanks for these - much appreciated. The -dealloc commentary was very helpful. For the OP, this means care should be taken to unobserve key paths before dealloc. One way this could be done by observing NSApplicationWillTerminateNotification.

Assuming the objects you were observing lasted as long as the app, yes. For anything shorter term (e.g. document data), you still need to know when the object will be dealloced and stop observing before then.

Dave

_______________________________________________

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