Увеличение неявно развернутого необязательного

Я объявляю неявно развернутый необязательный параметр как:

var numberOfRows: Int!

и инициализировать его в init:

numberOfRows = 25

Позже мне нужно уменьшить его на единицу, поэтому я пишу:

numberOfRows--

но это не компилируется. Сообщение об ошибке говорит, что оператор декремента не может быть применен к неявно развернутому необязательному. Немного поэкспериментировав, я обнаружил, что следующее компилируется без ошибок:

numberOfRows!--

Я хотел бы понять это. Чем объясняется то, что кажется лишним «!»?

Ответы на вопрос(2)

Ваш ответ на вопрос