Swift Academy · บทเรียน

โพรโทคอล View และคุณสมบัติ Body

ทำความเข้าใจว่าอะไรทำให้เป็น SwiftUI View และ body กำหนดลำดับชั้น UI อย่างไร

บทเรียน 1 จาก 412 ขั้นตอน

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

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

SwiftUI เป็นเฟรมเวิร์กส่วนติดต่อผู้ใช้แบบประกาศ ทุกองค์ประกอบที่มองเห็นได้คือ `View` ซึ่งเป็นชนิดค่าแบบน้ำหนักเบาที่มีพร็อพเพอร์ตี `body` ใช้อธิบายส่วนติดต่อผู้ใช้

โพรโทคอล View

```swift protocol View { associatedtype Body: View; var body: Body { get } } ``` การทำให้สอดคล้องกับ `View` จำเป็นต้องมีพร็อพเพอร์ตีคำนวณ `body` ที่คืนค่าเป็น `View` อื่น

สวัสดีชาวโลก

```swift struct ContentView: View { var body: some View { Text("Hello, SwiftUI!") } } ```

ชนิดค่าที่คืนแบบไม่เปิดเผย: some View

`some View` ซ่อนชนิดค่าที่คืนจริงจากผู้เรียกใช้ แต่ยังคงชนิดนั้นไว้ให้คอมไพเลอร์ทราบ ซึ่งจำเป็นเพราะ `body` อาจคืนค่าเป็นโครงสร้างมุมมองที่ซ้อนกันอย่างซับซ้อน

การประกอบมุมมอง

```swift struct ContentView: View { var body: some View { VStack { Text("Title").font(.title) Text("Subtitle").foregroundColor(.gray) } } } ```

เอกลักษณ์และอายุการใช้งานของมุมมอง

SwiftUI ใช้ชนิดและตำแหน่งของมุมมองในลำดับชั้นเพื่อระบุเอกลักษณ์ เมื่อเอกลักษณ์เปลี่ยน มุมมองจะถูกสร้างขึ้นใหม่ แต่เมื่อเอกลักษณ์คงที่ ระบบจะประเมินเฉพาะ body ใหม่

มุมมองย่อย

แยกส่วนที่นำกลับมาใช้ใหม่ได้: ```swift struct Header: View { var title: String var body: some View { Text(title).font(.largeTitle) } } ```

องค์ประกอบพื้นฐานสำหรับการวาด

ชนิดมุมมองที่มีมาให้ในระบบ: • `Text`, `Image`, `Button`, `Label` • `Rectangle`, `Circle`, `Ellipse` • `Color`, `Spacer`, `Divider`

มุมมองตัวบรรจุ

มุมมองตัวบรรจุจัดการการจัดวาง: • `VStack`, `HStack`, `ZStack` • `List`, `ScrollView`, `LazyVStack` • `Group`, `Section`

มุมมองคือโครงสร้าง — สร้างได้ประหยัด

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

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

พร็อพเพอร์ตีใดที่โพรโทคอล `View` กำหนดให้ต้องมี

สรุปทบทวน

ประเด็นสำคัญ: • โพรโทคอล `View` กำหนดให้ต้องมี `body: some View` • โครงสร้างสร้างได้ประหยัด จึงสร้างขึ้นใหม่บ่อยครั้ง • `some View` ซ่อนชนิดค่าที่คืนซึ่งซับซ้อน • แยกมุมมองย่อยเพื่อให้นำกลับมาใช้ใหม่ได้ • SwiftUI ใช้ชนิดและตำแหน่งเพื่อระบุเอกลักษณ์ของมุมมอง ถัดไป: @State
เริ่มต้นได้ฟรี

เรียนรู้ Swift ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
122
บทเรียน
409

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

บทเรียน “โพรโทคอล View และคุณสมบัติ Body” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “โพรโทคอล View และคุณสมบัติ Body”

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

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

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

บทเรียน “โพรโทคอล View และคุณสมบัติ Body” ใช้เวลานานแค่ไหน

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

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

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

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

  1. โพรโทคอล View และคุณสมบัติ Body
  2. @State: สถานะที่เปลี่ยนแปลงได้ภายใน View
  3. ตัวปรับแต่ง View: การเชื่อมต่อและตัวปรับแต่งแบบกำหนดเอง
  4. พรีวิวและ Preview Provider
← กลับไปที่ Swift Academy