Swift: KeyPath

Programming

Swift: KeyPath

3 เดือนที่ผ่านมา

1 min read

Table of Contents

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 ที่ดำเนินการบนคุณสมบัติของประเภทต่าง ๆ หรือสำหรับสถานการณ์การเขียนโปรแกรมที่ไดนามิก

Tags:

Swift