私はSwiftの新機能ですので、これはノーブの質問になるかもしれませんが、誰かが疑問を解決した場合、私はオンラインで説明を見つけることができません。 for-inループを使用している間に、変数が初期化されていないことがありますが、コンパイラエラーはありません。私は彼らの前に聞かせては/ varを書くしようと場合によっては、パターンは以下のコードは、なぜ変数ムービーとreleasedDateがされていない中で、例えば、すでに不変のコンテキストでswiftで変数を初期化せずにvar/let
を入れ子に表示することはできません「聞かせて」エラー - を示し前に初期化された?任意の助けを事前に
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が以前に初期化されていないのですか?これは言語がどのように機能するかということです。アップルが提供するスウィフト電子ブックを読んでお楽しみください。 – dasdom
あなたのコードは私のプレイグラウンドで正常に動作します。 –