What is KeyPath?
ใน Swift พาธของคีย์ (Key path) เป็นวิธีที่ใช้ในการอ้างอิงถึงคุณสมบัติหรือลำดับของคุณสมบัติในรูปแบบที่ปลอดภัยต่อประเภท (type-safe) มันถูกแสดงในรูปของพาธที่ประสานกับการใช้งานการเขียนค่าคีย์และค่าสำหรับการเข้าถึงหนึ่งคุณสมบัติที่ระบุภายในชนิดนั้น โดยอนุญาตให้คุณเข้าถึงหรือปรับเปลี่ยนคุณสมบัติได้โดยไดนามิกที่เวลาทำงาน
Example
struct Person {
var name: String
var age: Int
}
let keyPath = \Person.name
let person = Person(name: "Alice", age: 30)
let name = person[keyPath: keyPath] // การเข้าถึงคุณสมบัติ name โดยใช้พาธของคีย์
// ผลลัพธ์: "Alice"
print(name)
ในตัวอย่างนี้ \Person.name คือพาธของคีย์ที่อ้างถึงคุณสมบัติ name ของ Person struct จากนั้นเราสามารถใช้พาธของคีย์นี้ในการเข้าถึงคุณสมบัติ name ของ instance ของ Person ได้โดยไดนามิกตามที่แสดงในโค้ด เพิ่มเติมถึงนำไปใช้งานใน APIs ที่ดำเนินการบนคุณสมบัติของประเภทต่าง ๆ หรือสำหรับสถานการณ์การเขียนโปรแกรมที่ไดนามิก