2016-12-19 3 views
0

私はスイフトを学んでおり、私には質問があります。Swiftでこの辞書を読むにはどうすればいいですか?

私は文字列の辞書を持っている場合、この場合どのように値を呼び出すことができますか?私はすべてのBキーを印刷したい場合は

var list: [String:[String]] = [ 
"A": ["a1","a2","a3"], 
"B": ["b1","b2","b3"], 
"C": ["c1"] 
] 

、私はそうは印刷することができます。

print(list["B"])と、この作品を、私にBキーのすべての値を印刷します。

しかし、私はBキーの2番目の値だけを書きたいのですか? example-> key:B - value:b2を確認するには?

+0

を、あなたは、印刷(リスト[ "B"]を経由してそれを得ることができる[2] ?? "") –

答えて

5

ちょうど非常に簡単行います:

list["B"]![1] 

あなたはこの混乱を見つけた場合は、ここで私の説明です。

あなたが言ったように、list["B"]は配列全体を返します。すなわち、["b1", "b2", "b3"]、右です。配列にアクセスするには、辞書と同様に、添字表記を使用します。配列内の最初の項目の位置はインデックス0であるため、2番目の項目はインデックス1にあります。そのため、[]1を書きました。ただし、辞書の添字はオプションです。だから私は!をそこに追加してそれをラップした。

+0

@Hamishああおっと!?! – Sweeper

+0

ありがとうございます。辞書の配列に要素を追加したいのですか? – Antonio

+0

私は要素を追加しようとしているので、リスト["A"] = "新しい値"を削除します。新しい値だけを挿入したいのですが、新しい値 'a4'の後ろに 'a4'を追加したいのですが、どうすれば解決できますか? – Antonio

0

アンラップを強制するだけで安全な代替、そしてあなただけの?

これは、キー「B」でdictonary(値)の内容を抽出よりも、もう少しコントロールを提供します。次に、あなただけの通常の添え字[String]ある値(アクセス:

if let bList = list["B"] { 
    print(bList[1]) 
} else { print("List B not found ={ ") } 
関連する問題