Наследовать класс UIViewController и XIB - PullRequest
6 голосов
/ 28 декабря 2011

Я занимаюсь разработкой приложения для iOS 4 и разработал несколько классов, которые хочу использовать в других проектах.

Один из этих классов, называемый MapViewController, является подклассом UIViewController. Этот класс использует файл XIB, который я создал с помощью построителя интерфейса.

Мне интересно, если использовать MapViewController в другом проекте в качестве суперкласса из нового класса, Как я могу использовать связанный с ним XIB?

Я хочу повторно использовать MapViewController и его XIB, но я не знаю, нужно ли мне делать что-то особенное с файлом XIB.

Я не знаю, как это объяснить. Если вам нужно больше деталей, пожалуйста, скажите мне.

UPDATE:

Я хочу создать новый класс, наследуемый от MapViewController, например:

...
@interface NewMapViewController : MapViewController {

...

И теперь, если я хочу продолжать использовать тот же XIB (тот, что из MapViewController), что мне делать?

1 Ответ

6 голосов
/ 28 декабря 2011

Поскольку вы собираетесь наследовать от MapViewController, ваш MapViewController становится суперклассом.И у вас также есть 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]];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...