Swift

Some Keyword ใน SwiftUI คืออะไร และใช้เพื่ออะไร

Some Keyword ใน SwiftUI นั้น เป็น keyword ที่เริ่มมีในภาษา swift version 5.1 เป็นต้นมา ซึ่งหากดูในเอกสารของ swift.org แล้ว จะอยู่ในส่วนของหัวข้อ Opaque Type

การระบุ keyword some ที่ด้านหน้าของ return type ไหนก็ตาม return type นั้นจะกลายเป็น Opaque Type

“Some” Keyword

เมื่อสร้าง โปรเจ็คใหม่โดยใช้ swiftUI หรือการ แตก subview (extract subView) เราจะเห็น Keyword some ถูกนำมาใช้ที่ตัวแปร body

Keyword some ถูกนำมาใช้ในส่วนของการประกาศตัวแปร body ดังนี้

ตัวอย่างเช่น var body: some View

import SwiftUI

struct ContentView: View {
    var body: some View {
        Text("Hello, world!")
            .padding()
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

Some Keyword ใน SwiftUI คืออะไร

some จะถูกระบุหน้า return type โดยถ้าระบุ some ไว้ ก็หมายความว่า ชนิดข้อมูลที่ return กลับนั้น จะเป็นชนิดข้อมูลอะไรก็ได้ ที่สอดคล้อง(conform to) กับ protocol หลัง keyword some

ตัวอย่างเช่น

var body: some View {
        Text("Hello, world!")
    }

หมายความว่า ชนิดข้อมูล(Type) ที่ส่งกลับมายังตัวแปล Body นั้น จะเป็นชนิดข้อมูลอะไรก็ได้ โดยที่ต้องสอดคล้องกับ protocol View

ดังนั้นเราจึงสามารถเอา Text(“Hello, world!”) ใส่เข้าไปได้ เพราะ Text นั้น conform กับ View นั่นเอง

เราสามารถดูว่า Type conform กันหรือเปล่าจากเอกสาร developer document ในเว็บไซต์ apple

เปิดเอกสารของ Apple developer แล้วเลื่อนลงไปข้างล่างจะพบหัวข้อ conforms To ที่ระบุว่า conform to view

Type ไหนบ้างที่ conform กับ View

อ้างอิง

https://stackoverflow.com/questions/56433665/what-is-the-some-keyword-in-swiftui

https://www.vadimbulavin.com/opaque-return-types-and-the-some-keyword-in-swift/

Link อื่นๆ

Udemy

Home

ขอบคุณภาพโดย Eerina Hart จาก Pixabay

You may also like