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

ค่าดิบและ CaseIterable

ทำความเข้าใจอีนัมที่มี String, Int หรือชนิด RawRepresentable อื่นเป็นค่าพื้นฐาน พร้อม allCases

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

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

enum ของ Swift สามารถมี *ค่าดิบ* — ค่าตามตัวอักษรที่เก็บไว้กับแต่ละเคส การสอดคล้องกับ `CaseIterable` จะช่วยให้คุณได้คอลเลกชันของเคสทั้งหมดโดยอัตโนมัติ

enum ที่มีค่าดิบ

```swift enum Direction: String { case north = "N" case south = "S" case east = "E" case west = "W" } print(Direction.north.rawValue) // "N" ```

ค่าดิบ Int ที่เพิ่มอัตโนมัติ

```swift enum Planet: Int { case mercury = 1 case venus // 2 (auto) case earth // 3 case mars // 4 } print(Planet.earth.rawValue) // 3 ```

ค่าดิบ String ที่ตั้งชื่อตามอัตโนมัติ

```swift enum Color: String { case red, green, blue } print(Color.blue.rawValue) // "blue" — auto-named ``` สำหรับค่าดิบ String หากไม่ระบุค่า ค่าดิบจะเท่ากับชื่อเคส

init?(rawValue:) — อาจล้มเหลว

```swift if let dir = Direction(rawValue: "N") { print(dir) // Direction.north } let invalid = Direction(rawValue: "X") // nil ``` ตัวเริ่มต้นที่อาจล้มเหลวซึ่งสร้างขึ้นโดยอัตโนมัติจะคืนค่า nil เมื่อไม่รู้จักค่าดิบ

CaseIterable

```swift enum Season: CaseIterable { case spring, summer, autumn, winter } print(Season.allCases) // [.spring,.summer,.autumn,.winter] print(Season.allCases.count) // 4 ```

วนซ้ำทุกเคส

```swift for season in Season.allCases { print(season) } let picker = Season.allCases.map { "\($0)".capitalized } ```

CaseIterable พร้อมค่าดิบ

```swift enum Suit: String, CaseIterable { case hearts="♥", diamonds="♦", clubs="♣", spades="♠" } print(Suit.allCases.map { $0.rawValue }) // ["♥","♦","♣","♠"] ```

ค่าดิบสำหรับ Codable

enum ที่มีค่าดิบแบบ String ทำงานร่วมกับ `Codable` ได้อย่างราบรื่น: ```swift enum Status: String, Codable { case active, inactive, pending } struct User: Codable { var status: Status } // JSON "active" decodes to .active automatically ```

ค่าดิบสำหรับบิตมาสก์แฟล็ก

```swift struct Permission: OptionSet { let rawValue: Int static let read = Permission(rawValue: 1 << 0) static let write = Permission(rawValue: 1 << 1) static let execute = Permission(rawValue: 1 << 2) } var p: Permission = [.read, .write] print(p.contains(.read)) // true ```

ตรวจสอบความเข้าใจ

โปรโตคอลใดทำให้เข้าถึงเคส enum ทั้งหมดผ่าน `allCases` ได้

สรุปทบทวน

ประเด็นสำคัญ: • ค่าดิบ: `enum E: String { case a = "x" }` • ค่าดิบ Int จะเพิ่มขึ้นอัตโนมัติ ส่วนค่าดิบ String จะมีค่าเริ่มต้นเป็นชื่อเคส • `init?(rawValue:)` ถูกสร้างขึ้นโดยอัตโนมัติและอาจล้มเหลวได้ • `CaseIterable` มอบคุณสมบัติคงที่ `.allCases` • ใช้ร่วมกัน: `String, CaseIterable` สำหรับเมนูและตัวเลือก ถัดไป: ค่าที่เชื่อมโยง

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

บทเรียน “ค่าดิบและ CaseIterable” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “ค่าดิบและ CaseIterable”

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

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

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

บทเรียน “ค่าดิบและ CaseIterable” ใช้เวลานานแค่ไหน

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

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

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

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

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