Właśnie się zastanawiałem ...Swift: Downcast do znanego typu
let movie = item as? Movie
W tym przykładzie item
jest albo typu Movie
lub coś innego. W przypadku tej ostatniej movie
zostanie przypisana wartość zerowa. Tak więc movie
będzie typu Movie?
.
Teraz sprawdź następny przykład:
let movie: Movie?
movie = item as? Movie
Powiedzmy movie
jest klasą zmienną, która mam przypisując pewną wartość w jednym z moich metod klasy.
Dla mnie wygląda na to, że as? Movie
jest nieco zbędny, ponieważ movie
jest już znany jako typ Movie?
.
Czy jest jakaś składnia w Swift, która mówi: "Rzuć ten obiekt na ten sam obiekt co obiekt, do którego go przypisuję. Przypisz zero, jeśli jest to typ opcjonalny, a downcast kończy się niepowodzeniem." ?
Miałem nadzieję na coś takiego:
movie = item as?
lub
movie =? movie
Masz na myśli opcjonalne połączenie? https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/OptionalChaining.html – vadian
To byłby miły skrót do składni. –