我正在开发一个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/

10-12 01:43