On Apr 8, 2009, at 2:47 PM, Rua Haszard Morris wrote:

I'm baffled, this seems fundamental, I can't see how it's done!

I have a Menu in a nib file, which I need to use in a few places in code. So I want to do something like

NSMenu* myMenu = [NSMenu menuFromNib:@"MyNibFile" name:@"MyUsefulMenu"];

Is this possible - how can this be done?

I have looked at the NSMenu reference, how to unarchive Carbon menus (but there is no toll free mapping/other conversion between MenuRef and NSMenu?). It seems the only way to get this working is to have an class with an outlet specifically for receiving a reference to my menu - which seems indirect...

Hopefully this is a dumb question and there's an easy answer...

Making a class with an outlet, and passing an instance of that class as the nib's owner, is one way.

You can also use the NSNibTopLevelObjects key as described at the bottom of http://developer.apple.com/DOCUMENTATION/Cocoa/Reference/ApplicationKit/Classes/NSNib_Class/Reference/Reference.html . You pass an NSMutableArray under this key, and after the nib is loaded, the array is populated with the top level objects in the nib.

-Peter


_______________________________________________

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to