On 08/10/2009, at 2:39 PM, John Baldwin wrote:

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

It's better to initialise your defaults in your app delegate's - applicationWillFinishLaunching: method, since it is called at a completely invariant time during the launch process.


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.


You can't expect this. Objects loaded from a nib are not loaded in any particular order that you can rely on.

Also, in general, relying on certain user defaults being present can be fragile, for exactly the reasons you are finding - unknown initialisation order. Better to design your controllers to either not need user defaults to initialise itself, or else initialise your user defaults at a specific known point during launch that you can rely on.

--Graham

_______________________________________________

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