พจนานุกรมสวิฟท์
คอลเลกชันของชนิดเดียวกับที่ใช้ในพจนานุกรมที่เก็บข้อมูลความผิดปกติของสวิฟท์, พจนานุกรม Swift บังคับใช้องค์ประกอบประเภทการตรวจสอบถ้าเป็นชนิดที่แตกต่างกันของข้อผิดพลาดเกิดขึ้น
พจนานุกรม Swift สำหรับแต่ละค่า (ค่า) มีความสัมพันธ์ที่ไม่ซ้ำกันที่สำคัญ (Key) ที่ระบุที่สำคัญเป็นค่าข้อมูลพจนานุกรม
และอาร์เรย์ของรายการข้อมูลที่แตกต่างกันรายการข้อมูลพจนานุกรมและไม่มีลำดับที่เฉพาะเจาะจง เราจำเป็นต้องใช้ตัวระบุพจนานุกรม (กุญแจ) ในการเข้าถึงข้อมูลและเราจะใช้วิธีการนี้ในระดับมากตามความหมายในพจนานุกรมของวิธีการเดียวกันในโลกจริง
ที่สำคัญพจนานุกรม Swift ไม่มีข้อ จำกัด ในประเภทที่สามารถจำนวนเต็มหรือสตริง แต่ต้องไม่ซ้ำกัน
ถ้าคุณสร้างพจนานุกรมและมอบหมายให้ตัวแปรพจนานุกรมที่มีการสร้างขึ้นที่สามารถแก้ไขได้ ซึ่งหมายความว่าหลังจากที่คุณสร้างพจนานุกรมที่คุณสามารถเพิ่มลบแก้ไขเปลี่ยนวิธีการโครงการพจนานุกรม ถ้าพจนานุกรมถูกกำหนดให้คงที่คุณจะไม่สามารถปรับเปลี่ยนพจนานุกรมและขนาดพจนานุกรมและเนื้อหาที่ไม่สามารถแก้ไขได้
สร้างพจนานุกรม
เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อสร้างประเภทเฉพาะของพจนานุกรมที่ว่างเปล่า
var someDict = [KeyType: ValueType]()
ต่อไปนี้คือการสร้างพจนานุกรมว่างพิมพ์ที่สำคัญสำหรับ Int ค่าชนิดสตริงเป็นไวยากรณ์ง่าย:
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")
นำคู่ key-value
เราสามารถใช้removeValueForKey () วิธีการที่จะเอาพจนานุกรมคู่ค่าคีย์ถ้าคีย์ที่มีอยู่วิธีการส่งกลับค่าเอาออกถ้าไม่มีไม่มีผลตอบแทน ตัวอย่างมีดังนี้
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