2013-10-04 3 views
0

У меня есть суперкласс, для которого нужно настроить некоторые свойства для правильной работы.Определение свойств, которые должны реализовывать подклассы

Я ищу способ заставить/оповестить/предупредить любой подкласс, что он должен установить эти свойства, поэтому любой, который подклассифицирует этот супер, не забудет это сделать.

Какова наилучшая практика для этого? (я кодирование Obj-C)

Благодарность Шайте

+1

Похоже, что существует некоторое замешательство между определением свойства и его установкой. Вы ищете способ принудительного применения устанавливаемых свойств или способ обеспечения того, чтобы подклассы определяли этот список свойств? – Monolo

+0

Чтобы обеспечить, чтобы подклассы определяли этот список свойств, спасибо – shannoga

+0

Обновлен мой вопрос, спасибо – shannoga

ответ

0

Создать обозначенный инициализатору форму:

- (id)initWithProperty1:(Property1Type *)property1 property2:(Property2Type *) 
{ 
    self = [super init]; 
    if (self) { 
     _property1 = property1; 
     _property2 = property2; 
    { 
    return self; 
} 

Затем вы можете переопределить стандартный инициализатору и заставить его прервать (или его лог-сообщение), или у него есть сообщение:

- (id)init 
{ 
    NSLog(@"You must use the designated initializer."); 
    return nil; 
} 

В документе n для вашего класса, обязательно укажите, какой назначенный инициализатор.

Смежные вопросы