2013-07-19 3 views
1

Вопрос: Я подклассифицировал UITextField как «UISelectField», чтобы я мог переопределить делегат. Затем я создал UITextField в раскадровке и изменил свой класс на UISelectField в инспекторе идентификации. Однако метод init по умолчанию, предоставляемый Xcode, «initWithFrame», не вызван. Какой метод init вызывается при создании UITextField с помощью этого подхода?Какой метод init вызывается при создании UITextField в раскадровке

Причина: Прямо сейчас, я поставил делегат в INIT мой взгляд контроллера: [self.textField setDelegate:self.textField];. Я хотел бы удалить это и заменить его [self setDelegate:self]; в любом вызове метода init. Пожалуйста, скажите мне, есть ли более элегантный подход.

ответ

4
- (id)initWithCoder:(NSCoder *)aDecoder { 
    self = [super initWithCoder:aDecoder]; 
    if (self) { 
     // Custom Implementation 
    } 
    return self; 
} 
+0

Awesome! работал на меня. – Raja

0

На Swift 3:

required init?(coder aDecoder: NSCoder) { 
    super.init(coder: aDecoder) 

    // Custom Implementation 
} 

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

  • Нет связанных вопросов^_^