Я новичок в Swift, поэтому это может показаться нубским вопросом, но я буду благодарен, если кто-то развеет сомнения, потому что я не могу найти никакого объяснения в Интернете. При использовании цикла for-in иногда переменные не были инициализированы ранее, и все же ошибки компилятора не возникает. Иногда, если я пытаюсь написать var/let перед ними, появляется сообщение об ошибке: шаблон 'let' не может отображаться вложенным в уже неизменяемый контекст
например, почему в приведенном ниже коде переменные movie и ReleaseDate не были инициализированы раньше?
class MovieArchive {
func filterByYear(year:Int, movies:Dictionary<String, Int> ) -> [String]{
var filteredArray = [String]()
for (movie, releaseDate) in movies {
if year == releaseDate {
filteredArray.append(movie)
}
}
return filteredArray
}
}
var aiThemedMovies = ["Metropolis": 1927, "2001: A Space Odyssey": 1968, "Blade Runner": 1982, "War Games": 1983, "Terminator": 1984, "The Matrix": 1999, "A.I.": 2001, "Her": 2013, "Ex Machina": 2015]
var myArchive = MovieArchive()
myArchive.filterByYear(year: 2013
, movies: aiThemedMovies)
Заранее благодарю за любую помощь :)