Re: Crash with ARC enabled on Xcode 6.1
Re: Crash with ARC enabled on Xcode 6.1
- Subject: Re: Crash with ARC enabled on Xcode 6.1
- From: "Clark S. Cox III" <email@hidden>
- Date: Thu, 23 Oct 2014 15:44:29 -0700
> On Oct 23, 2014, at 15:26, Kyle Sluder <email@hidden> wrote:
>
> On Thu, Oct 23, 2014, at 05:06 PM, Greg Parker wrote:
>>
>>> On Oct 23, 2014, at 2:18 AM, Kevin Meaney <email@hidden> 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
email@hidden
_______________________________________________
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