On Oct 7, 2009, at 8:39 PM, John Baldwin wrote:

Perhaps that's what's tripping me up: bogus expectations. Here's what I have set up.

In the xib file, the File's Owner delegate is set to an AppController instance (an object in the xib).

The AppController has a +initialize method which initializes my user defaults.

Inside the xib is a window which is set to visible at launch. The error happens in the window controller for this window, which is expecting the user defaults to be initialized by the AppController instance.

So I'm expecting the AppController instance to be loaded and the +initialize method to be called before my window controller is loaded and its outlets start getting referenced.

John

The order of un-archiving from a NIB is un-defined . . .

    Cheers,
        . . . . . . . .    Henry




On Wednesday Oct 7  10:48 AM, at 10:48 AM, Jens Alfke wrote:


On Oct 6, 2009, at 11:30 PM, John Baldwin wrote:

When the application crashes on launch, there is no record of the +initialize method being called. When the application launches successfully, there is a record of the +initialize method being called.

I haven't been following the whole thread, but are you assuming that all classes are initialized immediately when the process launches (similar to C++ static initializers)? Because that isn't the way it works. A class isn't initialized until the first time it's used — by creating an instance, calling a class method, or looking up the class by name.

So it's entirely possible that something unrelated to this class is causing a crash before that class ever gets referenced. Are you able to get a backtrace or crash log?

—Jens


_______________________________________________

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