私は迅速に学習しており、辞書で反復しようとしています。変数lがnilあなたのコメントから辞書swiftで辞書を反復する
for (key , value) in LandsDictionary{
print(key)
print(value)
}
私は迅速に学習しており、辞書で反復しようとしています。変数lがnilあなたのコメントから辞書swiftで辞書を反復する
for (key , value) in LandsDictionary{
print(key)
print(value)
}
これは、2つの異なる方法でキーと値を取得する方法の例です。より多くのコレクションについて読むことを試みてください。
let LandsDictionary = ["DE":"Germany", "FR":"France"]
var keys :String = ""
var values :String = ""
//Iteration is going on properly and fetching key value.
for land in LandsDictionary {
print (land) // "DE":"Germany" and "FR":"France"
keys += land.0
values += land.1
}
//All keys
print(keys)
//All values
print(values)
//If you would like to recive all values and all keys use standart method of the collection.
let allKeys = LandsDictionary.keys
let allValues = LandsDictionary.values
である理由を教えてくださいすることができ、私はあなたが変数に国名を読み取ろうとしていると仮定します"l"。
は
let LandsDictionary = ["DE":"Germany", "FR":"France"]
var l:String?
//You need to assign an initial value to l before you start appending country names.
//If you don't assign an initial value, the value of variable l will be nil as it is an optional.
//If it is nil, l? += value which will be executed as optional chaining will not work because optional chaining will stop whenever nil is encountered.
l = ""
for (key, value) in LandsDictionary{
l? += value
}
print (l)
・ホープ、このことができます、このコードスニペットを試してみてください。
を反復するためのエンド
let LandsDictionary = ["DE":"Germany", "FR":"France"]
var l:String?
for land in LandsDictionary{
l?+=land
}
print (l)
この辞書ではすべてのキーと値がオプションではないため、オプションの変数を使用する必要はありません。
let landsDictionary = ["DE":"Germany", "FR":"France"]
var l = ""
// the underscore represents the unused key
for (_, land) in landsDictionary {
l += land
}
print (l) // "GermanyFrance"
またはループなし
let v = Array(landsDictionary.values).joinWithSeparator("")
print (v) // "GermanyFrance"
あなたは、このコードを実行するために取得することができますか?コンパイラは決してあなたがこれを行うことを許可しないので、オプションの文字列にタプルを代入しようとすると、l?+ = landになります。 – iamyogish
また、どの値を変数lに読み込もうとしているのかをお知らせください。 – iamyogish
私はPlaygroundでそれを実行しています。 LandsDictionary { l?+ = land } – User1238