1. Setup

Download and install xcode

! quiz /
1. type of apps xcode – all
2. main working area – editor

2. SwiftUI Fundamental

SwiftUI stacks /
Image สามารถเลือก symbol library ได้ , SF symbol
VStack , HStack

HStack in SwiftUI /
rt click เลือก embedded HStack

Modifying SwiftUI objects

3. Finishing the App

::: struct ใน Xcode

(โดยเฉพาะกับภาษา Swift ซึ่งใช้สำหรับ iOS/macOS development) คำว่า struct คือการสร้าง โครงสร้างข้อมูล หรือที่เรียกว่า Structure ซึ่งมีลักษณะใกล้เคียงกับ class แต่มีคุณสมบัติแตกต่างบางประการที่สำคัญ เช่น:


✅ โครงสร้างพื้นฐานของ struct ใน Swift

struct Person {
var name: String
var age: Int

func greet() {
print("Hello, my name is \(name) and I am \(age) years old.")
}
}

🔹 วิธีใช้งาน

var p = Person(name: "John", age: 30)
p.greet() // Hello, my name is John and I am 30 years old.

📌 ความแตกต่างหลักระหว่าง struct และ class ใน Swift

จุดเปรียบเทียบstruct (Structure)class (Class)
การส่งผ่านค่าValue type (ส่งสำเนา)Reference type (ส่งอ้างอิง)
การสืบทอด (inherit)❌ ไม่สามารถทำได้✅ ทำได้
การใช้งานทั่วไปใช้กับข้อมูลเบาๆ เช่น Modelใช้กับข้อมูลที่ต้องแชร์หรือมี state

🛠 ใช้งาน struct ใน Xcode อย่างไร?

  1. เปิด Xcode
  2. สร้างไฟล์ใหม่: File > New > File... > Swift File
  3. พิมพ์ struct ลงไปในไฟล์
  4. หากใช้ใน SwiftUI, struct จะถูกใช้สร้าง View เช่น:
import SwiftUI

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

🧠 คำแนะนำ:

  • หากคุณต้องการใช้ View หรือ Model แบบเบาๆ ใน SwiftUI → ใช้ struct
  • ถ้าคุณต้องการใช้ OOP เต็มรูปแบบ, inherit หรือ reference → ใช้ class
  • Swift แนะนำให้ใช้ struct มากกว่า class ถ้าไม่จำเป็นต้องสืบทอด หรือแชร์ state

VStack ใน SwiftUI ย่อมาจาก Vertical Stack


คือ คอนเทนเนอร์ที่วาง UI เรียงกันในแนวตั้ง (บนลงล่าง)


🔹 ตัวอย่างการใช้ VStack

import SwiftUI

struct ContentView: View {
var body: some View {
VStack {
Text("บนสุด")
Text("ตรงกลาง")
Text("ล่างสุด")
}
}
}

ผลลัพธ์:

  • ข้อความ 3 บรรทัดเรียงจากบนลงล่างในแนวตั้ง

🔧 ปรับแต่งเพิ่มเติมได้ เช่น:

swiftCopy codeVStack(alignment: .leading, spacing: 10) {
    Text("ชื่อ:")
    Text("อายุ:")
    Text("ที่อยู่:")
}
  • alignment: ตำแหน่งแนวนอน เช่น .center, .leading, .trailing
  • spacing: ระยะห่างระหว่างแต่ละ element

🔁 คู่กับ HStack / ZStack:

Stackแนวตัวอย่าง
VStackบนลงล่างเรียง UI แนวตั้ง
HStackซ้ายไปขวาเรียง UI แนวนอน
ZStackซ้อนกันซ้อน UI กันเหมือนเลเยอร์

ถ้าต้องการตัวอย่างซับซ้อนกว่านี้ เช่น VStack ซ้อนใน ScrollView, ForEach หรือใช้งานใน iPhone layout บอกได้เลยครับ ผมจัดให้!

ContentView : View

ใน SwiftUI เมื่อคุณเห็นโค้ดแบบนี้:

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

✅ คำอธิบาย:

  • ContentView คือชื่อ struct ที่คุณกำหนดให้เป็น “หน้าจอ” หรือ UI component หนึ่ง
  • : View หมายความว่า ContentView เป็นชนิด View (conforming to the View protocol) ซึ่งเป็นโครงสร้างพื้นฐานของ SwiftUI
  • body คือ สิ่งที่ View นี้จะแสดง (มันต้องคืนค่า some View)

🔹 ชัดๆ ทีละบรรทัด:

struct ContentView: View {
  • สร้าง struct ชื่อ ContentView
  • ให้ conform กับ protocol View
   var body: some View {
  • คุณต้องมี body ซึ่งเป็นตัวกำหนด UI Layout
  • some View หมายถึงจะต้องส่งคืนองค์ประกอบที่เป็น View อย่างน้อย 1 อย่าง
        Text("Hello, world!")
  • นี่คือตัวอย่าง View แบบง่ายที่สุด: ข้อความที่แสดงบนหน้าจอ

🧠 บันทึกเพิ่มเติม:

  • คุณ ไม่จำเป็นต้องใช้ class เพราะ SwiftUI ใช้ struct และ “declarative UI”
  • SwiftUI จะ “คอยสังเกตการเปลี่ยนแปลง” และปรับ UI โดยอัตโนมัติจากค่าที่คุณให้ใน body

🔁 ตัวอย่างเพิ่มเติม:

struct ContentView: View {
var body: some View {
VStack {
Text("ชื่อ: ChatGPT")
Text("บทบาท: AI Assistant")
}
}
}

Discover more from อรรถพรคลินิก ศัลยกรรมตกแต่ง Attaporn Plastic Surgery clinic 阿塔蓬博士,曼谷整形外科医生

Subscribe now to keep reading and get access to the full archive.

Continue reading