What I've seen happen in my code is that object A's -awakeFromNib method calls another object B in the nib, and the method that's called relies on object B's -awakeFromNib already having run. So it works if B was awoken before A, but fails if B hasn't been awoken yet.
(The reason for the random order? The objects in the nib are stored in an NSSet, and the nib loader enumerates over that set sending each object -awakeFromNib. The order of enumeration of a set or dictionary is undefined and depends on the internal ordering of the objects in the hashtable, which in turn depends on the object's -hash codes. And NSView's -hash method, inherited from NSObject, returns ... its pointer value cast to an integer. So in short, the order in which the objects are sent -awakeFromNib is dependent on on their in-memory layout, and that depends on undefined details of the order in which all the allocations in the heap occurred and the sizes of those blocks. Things like that are very dependent on machine architecture and the timing of multiple threads.)
More than you wanted to know, I'm sure... —Jens
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ 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 [EMAIL PROTECTED]