Latest web development tutorials

พจนานุกรมสวิฟท์

คอลเลกชันของชนิดเดียวกับที่ใช้ในพจนานุกรมที่เก็บข้อมูลความผิดปกติของสวิฟท์, พจนานุกรม 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