On Mar 24, 2014, at 6:56 PM, Rick Mann wrote: > On Mar 24, 2014, at 17:53 , Kyle Sluder <k...@ksluder.com> wrote: > >> On Mon, Mar 24, 2014, at 05:41 PM, Rick Mann wrote: >>> I'm creating an NSViewController subclass by calling -init, and at no >>> time passing a name for nibNameOrNil. According to the docs, this should >>> result in an exception, but it's building my view based on the .xib of >>> the same name without a problem. >> >> Where does the documentation say that? I can't find it. It would be >> worthy of a docs bug since it differs from the implementation. >> >> --Kyle Sluder > > So, it doesn't precisely say that calling -init will result in an exception. > For -initWithNibName:bundle:, it says: > > "If you pass in a nil for nibNameOrNil then nibName will return nil and > loadView will throw an exception; in this case you must invoke setView: > before view is invoked, or override loadView." > > Since calling -init never affords a chance to pass in a nib name, and > therefore -nibName shouldn't have a value, I would expect -loadView to throw. > > Normally I implement -init in my subclass and have it call > -initWithNibName:bundle: with the NIB's name, but I hadn't gotten around to > that yet, and it was working fine, and I was curious.
The argument name tells it all: "nibNameOrNil" says that nil is a acceptable option. Why would it be named thus if a nil value would throw an exception? The answer, NSViewController does not load its xib on init, but lazily when the view is accessed (or -loadView) is called. Passing nil would be a logical option when, for instance, your NSViewController's view is not in a xib or is in a xib that it isn't responsible for loading. HTH, Keary Suska Esoteritech, Inc. "Demystifying technology for your home or business" _______________________________________________ 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