スウィフト辞書
エラーの異なる種類が発生した場合、データ・ディクショナリスウィフト障害を格納するために使用したのと同じ型のコレクションは、スウィフト辞書は、検出素子の入力強制します。
各値(値)のための迅速な辞書は、辞書データ値として一意のキー(鍵)を、鍵識別子を関連しています。
そして、異なるデータ項目の配列、データ辞書項目と特定の順序はありません。 私たちは、データにアクセスするために辞書識別子(キー)を使用する必要がある、と我々は大幅に現実の世界で同じメソッドの辞書の意味を、このアプローチを使用しています。
スウィフト辞書のキーはタイプに制限は整数または文字列になることはできませんが、ユニークでなければなりません。
あなたは辞書を作成し、変数に割り当てられた場合、辞書を変更することができますが作成されます。 これは、辞書を作成した後、あなたは、追加、削除、変更、道に辞書プロジェクトを変更することができることを意味します。 辞書が定数に割り当てられている場合、あなたは辞書を変更することはできませんし、辞書サイズと内容を変更することはできません。
辞書を作成します。
私たちは、空の辞書の特定のタイプを作成するには、次の構文を使用することができます。
var someDict = [KeyType: ValueType]()
空の辞書を作成している以下は、インターネットのためのキーを入力し、文字列型の値は、単純な構文は次のとおりです。
var someDict = [Int: String]()
以下は、辞書のインスタンスを作成することです:
var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"]
アクセス辞書
私たちは、インデックスの辞書によると、配列の要素にアクセスすることができ、構文は次のとおりです。
var someVar = someDict[key]
以下の例では、我々は、初期化、アクセス辞書を作成する方法を学ぶことができます:
import Cocoa var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"] var someVar = someDict[1] print( "key = 1 的值为 \(someVar)" ) print( "key = 2 的值为 \(someDict[2])" ) print( "key = 3 的值为 \(someDict[3])" )
上記プログラム実行出力は、次のとおりです。
key = 1 的值为 Optional("One") key = 2 的值为 Optional("Two") key = 3 的值为 Optional("Three")
辞書の変更
我々はupdateValue(forKeyを使用:)追加したり、辞書の内容を更新することができます。 キーが存在しない場合は、キーに対応する値を変更することがある場合は、値を追加します。 updateValue(_:forKey :)オプションのメソッドは値を返します。 例としては、次のとおりです:
import Cocoa var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"] var oldVal = someDict.updateValue("One 新的值", forKey: 1) var someVar = someDict[1] print( "key = 1 旧的值 \(oldVal)" ) print( "key = 1 的值为 \(someVar)" ) print( "key = 2 的值为 \(someDict[2])" ) print( "key = 3 的值为 \(someDict[3])" )
上記プログラム実行出力は、次のとおりです。
key = 1 旧的值 Optional("One") key = 1 的值为 Optional("One 新的值") key = 2 的值为 Optional("Two") key = 3 的值为 Optional("Three")
また、次のようにキーを指定することで、辞書の値を変更することができます。
import Cocoa var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"] var oldVal = someDict[1] someDict[1] = "One 新的值" var someVar = someDict[1] print( "key = 1 旧的值 \(oldVal)" ) print( "key = 1 的值为 \(someVar)" ) print( "key = 2 的值为 \(someDict[2])" ) print( "key = 3 的值为 \(someDict[3])" )
上記プログラム実行出力は、次のとおりです。
key = 1 旧的值 Optional("One") key = 1 的值为 Optional("One 新的值") key = 2 的值为 Optional("Two") key = 3 的值为 Optional("Three")
キーと値のペアを削除します
私たちは、辞書のキーと値のペアを削除するにはremoveValueForKey()メソッドを使用することができます。 キーが存在する場合は戻りはnilが存在しない場合、この方法は、削除された値を返します。 例としては、次のとおりです:
import Cocoa var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"] var removedValue = someDict.removeValueForKey(2) print( "key = 1 的值为 \(someDict[1])" ) print( "key = 2 的值为 \(someDict[2])" ) print( "key = 3 的值为 \(someDict[3])" )
上記プログラム実行出力は、次のとおりです。
key = 1 的值为 Optional("One") key = 2 的值为 nil key = 3 的值为 Optional("Three")
( - 値キー)のペアをまたゼロのキー値を指定することで、キーと値を削除することができます。 例としては、次のとおりです:
import Cocoa var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"] someDict[2] = nil print( "key = 1 的值为 \(someDict[1])" ) print( "key = 2 的值为 \(someDict[2])" ) print( "key = 3 的值为 \(someDict[3])" )
上記プログラム実行出力は、次のとおりです。
key = 1 的值为 Optional("One") key = 2 的值为 nil key = 3 的值为 Optional("Three")
トラバーサル辞書
私たちは、キーと値のペアの辞書を反復処理するためのインループを使用することができます。 例としては、次のとおりです:
import Cocoa var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"] for (key, value) in someDict { print("字典 key \(key) - 字典 value \(value)") }
上記プログラム実行出力は、次のとおりです。
字典 key 2 - 字典 value Two 字典 key 3 - 字典 value Three 字典 key 1 - 字典 value One
次のように我々はまた、辞書と(キー、値)ペアのインデックスを返し、辞書トラバーサルに列挙()メソッドを使用することができ、その例は以下のとおりです。
import Cocoa var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"] for (key, value) in someDict.enumerate() { print("字典 key \(key) - 字典 (key, value) 对 \(value)") }
上記プログラム実行出力は、次のとおりです。
字典 key 0 - 字典 (key, value) 对 (2, "Two") 字典 key 1 - 字典 (key, value) 对 (3, "Three") 字典 key 2 - 字典 (key, value) 对 (1, "One")
配列辞書
あなたは辞書(キーと値)ペアのキーを抽出し、別々の配列に変換することができます。 例としては、次のとおりです:
import Cocoa var someDict:[Int:String] = [1:"One", 2:"Two", 3:"Three"] let dictKeys = [Int](someDict.keys) let dictValues = [String](someDict.values) print("输出字典的键(key)") for (key) in dictKeys { print("\(key)") } print("输出字典的值(value)") for (value) in dictValues { print("\(value)") }
上記プログラム実行出力は、次のとおりです。
输出字典的键(key) 2 3 1 输出字典的值(value) Two Three One
プロパティを数えます
私たちは、キーと値のペアの辞書の数を計算するためにカウント読み取り専用の属性を使用することができます。
import Cocoa var someDict1:[Int:String] = [1:"One", 2:"Two", 3:"Three"] var someDict2:[Int:String] = [4:"Four", 5:"Five"] print("someDict1 含有 \(someDict1.count) 个键值对") print("someDict2 含有 \(someDict2.count) 个键值对")
上記プログラム実行出力は、次のとおりです。
someDict1 含有 3 个键值对 someDict2 含有 2 个键值对
isEmptyプロパティ
Yは、我々はのisEmptyは、読み取り専用の辞書が空であるかどうかを判断するために属性を、ブール値を返すことができます。
import Cocoa var someDict1:[Int:String] = [1:"One", 2:"Two", 3:"Three"] var someDict2:[Int:String] = [4:"Four", 5:"Five"] var someDict3:[Int:String] = [Int:String]() print("someDict1 = \(someDict1.isEmpty)") print("someDict2 = \(someDict2.isEmpty)") print("someDict3 = \(someDict3.isEmpty)")
上記プログラム実行出力は、次のとおりです。
someDict1 = false someDict2 = false someDict3 = true