Увеличение неявно развернутого необязательного
Я объявляю неявно развернутый необязательный параметр как:
var numberOfRows: Int!
и инициализировать его в init:
numberOfRows = 25
Позже мне нужно уменьшить его на единицу, поэтому я пишу:
numberOfRows--
но это не компилируется. Сообщение об ошибке говорит, что оператор декремента не может быть применен к неявно развернутому необязательному. Немного поэкспериментировав, я обнаружил, что следующее компилируется без ошибок:
numberOfRows!--
Я хотел бы понять это. Чем объясняется то, что кажется лишним «!»?