我正在开发一个 iOS 4 应用程序,我已经开发了一些我想在其他项目中使用的类。
其中一个名为 MapViewController
的类是 UIViewController 的子类。此类使用我使用界面生成器创建的 XIB 文件。
我想知道是否在另一个项目中使用 MapViewController
作为新类的父类(super class),我如何使用它关联 XIB?
我想重用 MapViewController
及其 XIB,但我不知道是否必须对 XIB 文件做一些特殊的事情。
我不知道怎么解释。如果您需要更多详细信息,请告诉我。
更新:
我想创建一个继承自 MapViewController
的新类,如下所示:
...
@interface NewMapViewController : MapViewController {
...
而且,现在如果我想继续使用相同的 XIB(来自 MapViewController
的那个),我必须做什么?
最佳答案
由于您将从 MapViewController
继承,因此您的 MapViewController
成为父类(super class)。你也有 MapViewController.xib。如果您使用 NewMapViewController
NewMapViewController.m
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
NSLog(@"Subclass initWithNibName called");
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
像这样初始化你的 NewMapViewContoller:
//Nib of super class is MapViewController
NewMapViewController *nmapController = [[NewMapViewController alloc] initWithNibName:@"MapViewController" bundle:[NSBundle mainBundle]];
关于iphone - 继承 UIViewController 类和 XIB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8657611/