On 26/03/2008, at 11:09 AM, Quincey Morris wrote:

Unless there is some special runtime magic going on, this seems not absolutely safe. Your '[self release]' is going to eventually lead to a call of '[super dealloc]' and theoretically you can't safely call the superclass's dealloc if you haven't called a designated superclass initializer, because you don't know what the superclass's dealloc expects its initializer to have already done.

In practice, though, I can't imagine anything really bad happening -- all the dealloc has available to run amok with is a bunch of zeroes.

Well, I have actually had that problem happen to me. I was sub- classing NSDate and releasing without calling the NSDate initialiser and that was causing a crash. Apple updated the documentation shortly after I reported it to them. It looks like they've fixed the cause of the crash in Leopard. I personally think that you should be able to call dealloc before calling any initialiser. Maybe the documentation can be updated to remove that requirement now that NSDate has been fixed (I've just logged a report asking for this).

- Chris


Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________

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 [EMAIL PROTECTED]

Reply via email to