Мне просто интересно...
let movie = item as? Movie
В этом примере item имеет тип Movie или что-то еще. В случае последнего Movie будет присвоено значение nil. Таким образом, Movie будет иметь тип Movie?.
Теперь рассмотрим следующий пример:
let movie: Movie?
movie = item as? Movie
Скажем, Movie - это переменная класса, которую я присваиваю некоторое значение внутри одного из моих методов класса.
Мне кажется, что as? Movie несколько избыточно, поскольку Movie уже известен как тип Movie?.
Есть ли какой-либо синтаксис в Swift, который гласит: "Включение этого объекта в тот же тип, что и объект, к которому я его назначаю. Назначьте nil, если это необязательный тип, а downcast терпит неудачу."
Я надеялся на что-то вроде:
movie = item as?
или
movie =? movie