What is Extensions?
Extensions ในภาษา Swift เป็นอีกวิธีหนึ่งที่ทำให้ เราสามารถต่อขยายเพื่อเพิ่มความความสามารถให้กับ Class, Struct, Enum, Protocol เดิมที่มีอยู่แล้วได้โดยไม่แตะต้อง code เดิม
Example
ผมมี struct Font
แล้วผมอยากจะเพิ่มฟอนต์ my-awesome-font
เข้าไป ก็สามารถทำได้แบบนี้
extension Font {
static func myAwesomeFont(size: CGFloat) -> Font {
return Font.custom("my-awesome-font", size: size)
}
}
ทีนี้เวลาเรียกใช้งานก็จะเป็นประมาณนี้
Text("Hello")
.font(.myAwesomeFont(size: 20))
Extensions ใน Swift เป็นอะไรที่ผมชอบมากๆ เพราะสามารถนำไปเขียนเพิ่มความสามารถกับของที่มีอยู่ได้