Swift: Extensions

Programming

Swift: Extensions

ในบทความนี้เรามารู้จักกับ Extensions ซึ่งเป็นตัวช่วยในการเพิ่มความสามารถให้กับ Swift Class, Struct, Enum, Protocol

ประมาณ 1 ปีที่ผ่านมา

1 min read

Table of Contents

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 เป็นอะไรที่ผมชอบมากๆ เพราะสามารถนำไปเขียนเพิ่มความสามารถกับของที่มีอยู่ได้

Tags:

Swift