Mailing Lists: Apple Mailing Lists
Image of Mac OS face in stamp
Re: + initialize docs conflict?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: + initialize docs conflict?




On Jan 31, 2005, at 6:53 PM, Ricky Sharp wrote:

When reading up on NSObject's class method 'initialize', I found these two quotes in the docs:

"Each class receives the initialize message just once from the runtime system."

"Normally the runtime system sends a class just one initialize message. However, if for some reason an application or the runtime system generates additional initialize messages, it is a good idea to prevent code from being invoked more than once"

I can see where an application developer may (accidentally?) have code to call initialize more than once. But why do the docs have conflicting statements regarding the runtime?

Bill Cheeseman has already replied to this, but I'd like to point out one way in which these two statements are not contradictory. The *runtime system* sends the initialize message on its own behalf exactly once, but it's possible that *applications* may send the initialize message -- or, possibly, some chain of events might cause something else to send the class the initialize message.


I have no problem modifying my initialize implementations with a one-shot flag if need be. However, if the runtime is only ever suppose to call initialize once, I'll then file a bug against the docs.

I do think they ought to be clarified. "The runtime system sends each class the +initialize method exactly once on its own behalf, but other classes or the +initialize message of subclasses may also send an +initialize method. As a result, the runtime system does not guarantee that +initialize will only be called once, and so it may be necessary to explicitly prevent code from being invoked more than once."


Charlton


-- Charlton Wilbur email@hidden email@hidden

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


References: 
 >+ initialize docs conflict? (From: Ricky Sharp <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2011 Apple Inc. All rights reserved.