מאפיין @State
חלק מהיחידה מבוא ל-SwiftUI במסלול ה-Swift של Coddy. שיעור 20 מתוך 50.
גוף התצוגה מחושב מחדש על סמך הנתונים שלה. כדי שיהיו לך נתונים שמשתנים, סמן מאפיין באמצעות @State. כשמאפיין מצב משתנה, SwiftUI מריצה שוב את הגוף ומעדכנת את המסך:
struct ContentView: View {
@State private var count = 0
var body: some View {
VStack {
Text("Count: \(count)")
Button("Add one") {
count += 1
}
}
}
}כל הקשה מריצה את count += 1, והטקסט מציג את המספר החדש. אין צורך לעדכן את הטקסט בעצמך: הטקסט מתואר במונחים של count, ולכן הוא עוקב אחר הערך.
אי אפשר לשנות var רגיל בתוך גוף של תצוגה, כי תצוגות הן מבנים. @State מאחסן את הערך מחוץ למבנה, כך שהוא נשמר בכל ציור מחדש. סמנו את המצב כ-private: הוא שייך לתצוגה הזאת.
אתגר
קלהשלימו את מונה ההקשות. הפעולה של הכפתור ריקה: הוסיפו 1 ל־taps בכל הקשה, כך שהטקסט יציג Taps: 1 אחרי הקשה אחת ו־Taps: 2 אחרי שתי הקשות.
נסו בעצמכם
import SwiftUI
@main
struct CoddyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה מבוא ל-SwiftUI
תרגלו בעצמכם: SwiftUI אונליין