[iOS] Property Wrapper ความสามารถในการเขียน Annotation บน Swift
Property Wrapper ถ้าแปลตามชื่อก็คือการปั้นตัวแปร เพื่อให้มีค่าเริ่มต้นตามที่กำหนด หรือความสามารถพิเศษตามที่เราต้องการ โดยอาศัยการระบุ annotation นำหน้าไปเท่านั้น !!! ลองมาดูวิธีใช้งานกันครับ ก่อนอื่น ต้องสร้าง annotation ที่เราต้องการก่อน @propertyWrapper struct Capitalized { var wrappedValue: String { didSet { wrappedValue = wrappedValue.capitalized } } init(wrappedValue: String) { self.wrappedValue = wrappedValue.capitalized } } โดย @propertyWrapper เป็น attribute ที่บังคับต้องมี โดย datatype จะต้องตรงกับ attribute ที่เราเอาไปใช้งานด้วย ซึ่งตรงนี้เรามีการเพิ่มความสามารถ capitalized เข้าไปใน didSet ด้วย ตัวอย่างการใช้งาน struct User { @Capitalized var firstName: String @Capitalized var lastName: String } // firstName = Lord, lastName = Gift var user = User(firstName: "lord", lastName: "gift") หรือเราจะประกาศพร้อม assign value แบบนี้เลยก็ได้ // he