Here's an except of some code in a window controller:
> - (id) init {
> self = [super initWithWindowNibName: @"MyWindow"];
> …
> return self;
> }
>
> + (MyWinController*) myWinController {
> return [[MyWinController alloc] init];
> }
The key point here is that the MyWinController class, and the MyWindow nib
file, are both in a private framework, hence not in the main bundle.
On some Macs (10.7 and 10.8) this throws an exception some of the time:
> 9/25/12 6:39:49.700 PM MyApp[1040]: -[MyWinController loadWindow]: failed to
> load window nib file 'MyWindow'.
According to the documentation, the window controller initWithWindowNibName
should try to find the nib file in [NSBundle bundleForClass: [self class]], but
this was apparently returning nil. When I logged this expression, the problem
vanished. It seems that referencing (creating?) the NSBundle object was enough
to make the window control init work. That is, this alternative:
> + (MyWinController*) myWinController {
> [NSBundle bundleForClass: [self class]];
> return [[MyWinController alloc] init];
> }
seems to fix the problem. Anyone have an idea what's going on here, and what I
should really do to avoid/fix the problem?
_______________________________________________
Cocoa-dev mailing list ([email protected])
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 [email protected]