Если init
не определен с параметром цвета опционально, вы не сможете пройти nil
к нему.
Опциональный имеет знак вопроса после него, то есть он может либо содержать значение или nil
:
let color: UIColor?
Вы можете прочитать больше о Optionals
here
Концепция не дополнительными опциями существуют в C или Objective-C. Ближайшей вещью в Objective-C является способность вернуть nil из метода, который в противном случае возвращал бы объект, причем nil означает «отсутствие действительного объекта». Однако это работает только для объектов - оно не работает для структур , базовые типы C или значения перечисления. Для этих типов методы Objective-C обычно возвращают специальное значение (например, NSNotFound), чтобы указать отсутствие значения. Этот подход предполагает, что вызывающий объект метода знает, что существует специальное значение для проверки и запоминания для его проверки. Опционы Swift позволяют указать отсутствие значения для любого типа вообще, без необходимости в специальных константах.
Какой класс 'супер'? –