Cocoa Tips #1: Инициализация View Controller ?

C

Итак, мы написали новый View Controller и та-дам — мы видим это:

cocoa, View Controller

Давайте подумаем, что тут не так?

Подклассы наследуют инициализаторы суперкласса только если соблюдены определенные условия.

Если наш подкласс не определяет никаких новых инициализаторов, то он автоматически наследует все инициализаторы суперкласса. Иначе он не наследует ни один из них.

Наш класс — наследник UIViewController. UIViewController реализует протокол NSCoding. NSCoding требует реализацию инициализатора init(coder:).

UIViewController реализовывывает init(coder:) по умолчанию, и мы не должны делать ничего. Но так как мы определили наш собственный инициализатор init(), мы запретили реализацию всех инициализаторов суперкласса. А это привело к тому, что обязательный инициализатор протокола NSCoding не реализован. Отсюда и ошибка. Для ее устранения необходимо реализовать required init(coder:).

cocoa, View Controller

Поддержите ресурс blog.justDev:

Сведения об авторе

Игорь Малеваный

Добавить комментарий

Instagram

Поддержите ресурс blog.justDev:

Свежие записи

Рубрики