0Pricing
Swift Academy · บทเรียน

ค่าที่เชื่อมโยงสำหรับข้อมูลที่มีรายละเอียด

แนบข้อมูลเพิ่มเติมเข้ากับแต่ละกรณี และดึงข้อมูลออกด้วยการจับคู่รูปแบบ

ค่าที่เชื่อมโยงสำหรับข้อมูลที่มีรายละเอียด เป็นบทเรียน Swift Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Swift Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน

ยินดีต้อนรับ

ค่าที่เชื่อมโยงช่วยให้แต่ละเคสของ enum เก็บข้อมูลเพิ่มเติมได้ ทำให้ enum กลายเป็นยูเนียนแบบจำแนกที่ทรงพลัง ซึ่งเป็นรากฐานของการจำลองสถานะที่ปลอดภัยด้านชนิดใน Swift

การกำหนดค่าที่เชื่อมโยง

```swift enum Barcode { case upc(Int, Int, Int, Int) case qrCode(String) } let product = Barcode.upc(8,85909,51226,3) let web = Barcode.qrCode("https://example.com") ```

การดึงค่าด้วย switch

```swift switch barcode { case .upc(let n, let m, let p, let c): print("UPC: \(n)-\(m)-\(p)-\(c)") case .qrCode(let code): print("QR: \(code)") } ``` หรือใช้ `case let` เพื่อผูกค่าทั้งหมดในครั้งเดียว: ```swift case let .upc(n,m,p,c): ... ```

ค่าที่เชื่อมโยงแบบมีชื่อ

```swift enum NetworkResult { case success(statusCode: Int, data: Data) case failure(error: Error) } if case .success(let code, let data) = result { ... } ``` ป้ายชื่อช่วยให้บริบทของการผูกค่าชัดเจนขึ้น

ค่าที่เชื่อมโยงกับค่าดิบ

• ค่าดิบ: ค่าคงที่ขณะแปลโปรแกรม ทุกกรณีมีชนิดเดียวกัน และมีพร็อพเพอร์ตี `rawValue` • ค่าที่เชื่อมโยง: ข้อมูลขณะทำงาน แต่ละกรณีมีชนิดของตัวเอง และดึงออกมาด้วยการจับคู่รูปแบบ คุณไม่สามารถมีทั้งสองอย่างใน enumeration เดียวกันได้

ออปชันนัลในฐานะ Enumeration

`Optional` ของ Swift คือ: ```swift enum Optional { case some(Wrapped) case none } ``` `if let`, `switch` และ `??` ทุกตัวทำงานโดยใช้กลไกเดียวกันนี้

Result<Success, Failure>

```swift func fetch() -> Result { ... } switch fetch() { case .success(let data): process(data) case .failure(let err): print(err) } ``` `Result` เป็น enumeration จากไลบรารีมาตรฐานที่มีสองกรณีซึ่งรับค่าที่เชื่อมโยง

การจับคู่รูปแบบใน if case

```swift let item = Barcode.qrCode("hello") if case .qrCode(let code) = item { print("QR code: \(code)") } ``` `if case` กระชับและเหมาะเมื่อคุณสนใจเพียงกรณีเดียว

กรณี guard

```swift func process(_ result: NetworkResult) { guard case .success(_, let data) = result else { return } handle(data) } ``` `guard case` จะออกจากฟังก์ชันแต่เนิ่น ๆ หากรูปแบบไม่ตรงกัน

Enumeration ในคอลเลกชัน

```swift let events: [AppEvent] = [.login("alice"), .pageView("/home"), .logout] let logins = events.compactMap { if case .login(let u) = $0 { return u } else { return nil } } ```

ตรวจสอบความเข้าใจอย่างรวดเร็ว

คีย์เวิร์ดใดใช้สำหรับดึงค่าที่เชื่อมโยงภายในกรณีของ `switch`

สรุปทบทวน

ประเด็นสำคัญ: • ค่าที่เชื่อมโยงใช้แนบข้อมูลเข้ากับแต่ละกรณี • ดึงค่าออกมาด้วย `switch`, `if case` หรือ `guard case` • ใช้ป้ายชื่อเพื่อความชัดเจน: `.success(code: Int, data: Data)` • `Optional` และ `Result` เป็น enumeration จากไลบรารีมาตรฐานที่มีค่าที่เชื่อมโยง • ไม่สามารถใช้ค่าที่เชื่อมโยงและค่าดิบร่วมกันใน enumeration เดียว ถัดไป: enumeration แบบอ้อมและโครงสร้างแบบวนซ้ำ

คำถามที่พบบ่อย

บทเรียน “ค่าที่เชื่อมโยงสำหรับข้อมูลที่มีรายละเอียด” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “ค่าที่เชื่อมโยงสำหรับข้อมูลที่มีรายละเอียด” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Swift Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Swift Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “ค่าที่เชื่อมโยงสำหรับข้อมูลที่มีรายละเอียด”

แนบข้อมูลเพิ่มเติมเข้ากับแต่ละกรณี และดึงข้อมูลออกด้วยการจับคู่รูปแบบ คุณปฏิบัติ Swift Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Swift Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Swift Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “ค่าที่เชื่อมโยงสำหรับข้อมูลที่มีรายละเอียด” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Swift Academy นี้ได้ไหม

ได้ บทเรียน Swift Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ค่าดิบและ CaseIterable
  2. ค่าที่เชื่อมโยงสำหรับข้อมูลที่มีรายละเอียด
  3. อีนัมแบบ indirect และโครงสร้างแบบเวียนซ้ำ
  4. จำลองเครื่องสถานะด้วยอีนัม
← กลับไปที่ Swift Academy