[[NSBundle mainBundle] loadNibNamed:@"NewView" owner:self options:nil];
这是一段很经典的代码,重点在于它可以跨Nib加载,且如果nib有一些对象是当然类的成员,那它还会自动给当前类的成员赋值,使Nib文件的运用更加灵活。
另一种加载方法适用于osx的方法
原文地址:http://stackoverflow.com/questions/5855154/programatically-loading-object-from-subclass-of-nsview-from-nib
- NSNib *nib = [[[NSNib alloc] initWithNibNamed:@"MyView" bundle:nil] autorelease];
- NSArray *topLevelObjects;
- if (! [nib instantiateWithOwner:self topLevelObjects:&topLevelObjects]) // error
- MyView *myView = nil;
- for (id topLevelObject in topLevelObjects) {
- if ([topLevelObject isKindOfClass:[MyView class]) {
- myView = topLevelObject;
- break;
- }
- }