> On Oct 23, 2014, at 15:26, Kyle Sluder <k...@ksluder.com> wrote: > > On Thu, Oct 23, 2014, at 05:06 PM, Greg Parker wrote: >> >>> On Oct 23, 2014, at 2:18 AM, Kevin Meaney <k...@yvs.eu.com> wrote: >>> >>> From what I understand any code that is executed before main is called is >>> done so before the objective-c runtime is fully setup which means you have >>> no guarantees about what will work. In objective-c++ where you can create >>> static C++ objects that results in objective-c being called it is an easy >>> way to make difficult to track crashes. >> >> The situation is much more favorable than that. Problems with Objective-C >> initialization are uncommon. >> >> The initialization order is generally like this: >> 1. Everything in libraries you link to is initialized. >> 2. Your classes' +load methods run. Each class runs +load before its >> subclasses. (Timing of category +load is more complicated, but in most >> cases they also run now.) >> 3. Your C and C++ static constructors run. >> 4. main() > > Is it accurate to say that Objective-C +initialize methods happen, at > the earliest, as part of Step 3?
No. +initialize is called the first time a particular class or its subclasses are sent a message (other than +load or +initialize). If you never call any methods on a class or its subclass, then that class’ +initialize will never be called. -- Clark Smith Cox III clarkc...@gmail.com _______________________________________________ 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: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com