我是Swift的新手,所以這可能是一個noob問題,但如果有人清除了疑問,我將很感激,因爲我在網上找不到任何解釋。在使用for-in循環時,有時候這些變量之前沒有被初始化,並且仍然沒有編譯器錯誤。有時候,如果我嘗試寫VAR /他們面前讓,這表明無差錯「讓」的格局不能出現嵌套在一個已經不可改變的情況下在Swift中初始化變量沒有var/let
例如,在下面的代碼,爲什麼變量電影releasedDate沒有初始化之前?提前任何幫助:)
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)
感謝
請顯示您描述的錯誤消息確實出現的示例。 –
「例如,在下面的代碼中,爲什麼變量movie和releasedDate之前沒有被初始化?」因爲這是語言的工作原理。您可能喜歡閱讀Apple提供的Swift電子書。 – dasdom
你的代碼可以在我的遊樂場上正常工作。 –