Have you read the documentation? When you load nibs/xibs, you must specify the File's Owner (the top-level object in the xib). That means whatever object you pass in as the owner must have the desired outlets.
BOOL success = [NSBundle loadNibNamed:@"MyNib" owner:selfOrSomeControllerWithOutlets];
This is the simplest way to load the contents of a xib and connect it to whatever owner you specify.
You can also create a controller instance and load its xib in one go. As an example, a view/view-controller might be loaded by the main window controller. Inside the window controller, you might have a -widgetView (that loads a view inside WidgetView.xib) method that does this:
- (NSView *)widgetView
{
if (!_widgetViewController)
_widgetViewController = [[MyWidgetViewController alloc] initWithNibName:@"WidgetView" bundle:nil];
return [_widgetViewController view];
}
In this case, MyWidgetViewController is an NSViewController subclass (which gives it a -view property, which links to some top-level view in the xib. In the xib, File's Owner's class name is set to MyWidgetViewController and its view outlet is connected to your main container view. When the controller is successfully initialized with the xib, the -view outlet (and any others your subclass has) is reconnected and now that controller is wired up to the xib contents.
Now, the first time you ask for -widgetView, it loads the xib and hands back the view (or nil). Each subsequent call will just hand back the already-loaded view. This is called "lazy loading" and is usually the best way to go for views that aren't always used. You can also do this for multiple "copies". Just add each view controller to a container somewhere when they're created and manage it however you need.
Of course the code above ignores the potential that the xib could not be located (in which case -initWithNibName:bundle: will return nil) and you shouldn't do that. Definitely handle the error using NSAssert...() and terminate gracefully (since something's likely wrong with the app bundle if the xib can't be found).