Войти
iPhoneФорумПрограммирование

iPhone. Наследование

#0
8:13, 30 апр 2011

Всем привет. Ребята подскажите как правильно создать базовый класс и наследовать от него. То есть вот какая ситуация:
1) создаю класс, к примеру - BaseViewController. У него есть view на котором я размещаю UILabel
2) теперь я создаю класс, к примеру FirstViewController : BaseViewController (наследуемый от базового) и мне необходимо, чтобы UILabel, созданная на базовом view перенеслась и на дочерний класс - FirstViewController;

@interface BaseViewController : UIViewContoller
{
  IBOutlet UILabel *label;
}

@property (nonatomic, retain) IBOutlet UILabel *label;

@end

Потом связываю эту label через Interface Builder.


@interface FirstViewController : BaseViewController
{
...
}

Но на вьюхе от FirstViewController нету label.

Зарание спасибо.

#1
13:03, 30 апр 2011

Я бы не советовал так делать - это как-то через жопу. Ты же загружаешь его из xib'a (судя по IBOutlet).
Если хочешь иметь label создавай его динамически (например на viewDidLoad) в родительском классе, а в дочернем вызывай [super viewDidLoad]

#2
12:15, 5 мая 2011
- (id)initFirst
{
  if (self = [super initBase])
  {
    
  }
  return self;
}

Наследование класса с конструктором initFirst от класса с конструктором initBase. (в конструкторе вызывается родительский и передается... если я правильно понял в чем трудность)

#3
17:00, 5 мая 2011

> Но на вьюхе от FirstViewController нету label.

Ручками добавляем в XIB и связываем outlet. Содержание вьюхи в XIB-файле ни разу не зависит от ККК - кода класса контроллера.
В дочерний класс переносится только сам указатель-outlet.

Или создавать динамически.

iPhoneФорумПрограммирование

Тема в архиве.