لماذا تحتاج View إلى الحالة
افهم سبب عدم قابلية View في SwiftUI للتغيير
لماذا تحتاج View إلى الحالة درس مجاني في SwiftUI Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في SwiftUI Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة SwiftUI Academy 4 دروس في المجموع.
بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.
Views Describe, They Don't Hold
A SwiftUI view is a lightweight description of your UI for one moment. It is recreated constantly, so it can't simply store changing values like a normal object. 📐
Structs Are Immutable
Your views are structs, and SwiftUI treats their stored properties as read-only inside body. You cannot just reassign a property and expect the screen to react.
struct CounterView: View {
var count = 0
var body: some View {
Text("Count: \(count)")
}
}Why Reassigning Fails
Try setting a plain property from a button and the compiler stops you: structs can't mutate themselves inside body. The UI has no idea anything changed anyway.
The UI Is a Function of Data
In SwiftUI, the screen is a pure function of your data. Same data in, same UI out. To change the screen, you change the data, not the view directly.
Enter State
SwiftUI gives you state: a place to store changing values that lives outside the throwaway view struct. When state changes, SwiftUI rebuilds the affected views for you. ✨
State Survives Redraws
Even though the view struct is recreated again and again, your state value persists between redraws. SwiftUI stores it safely behind the scenes for that view.
The Source of Truth
State becomes the single source of truth for a piece of view-local data. The view always reflects it, so there is never a stale, out-of-sync screen.
A Tiny Example
Here a stored value drives the text. Once it is marked as state, changing it will automatically refresh the Text on screen.
struct GreetingView: View {
@State private var name = "Sam"
var body: some View {
Text("Hi, \(name)")
}
}Reactive, Not Imperative
You never tell a label to update itself. You change the data and SwiftUI reacts. This declarative style means less wiring and fewer bugs.
When You Need State
Use state for values a single view owns and changes over time: a counter, a toggle, typed text. Static labels and fixed config don't need it.
Keep State Small
State is meant for simple, view-local data. Keep each piece focused so SwiftUI can update efficiently and your views stay easy to reason about.
Quick Check
Why can't a SwiftUI view just store a changing value in a plain property?
Recap
SwiftUI views are immutable structs and the UI is a function of data. State lets a view own changing values that persist across redraws and drive automatic updates. 🎯
الأسئلة الشائعة
هل درس «لماذا تحتاج View إلى الحالة» مجاني؟
نعم — نص درس «لماذا تحتاج View إلى الحالة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة SwiftUI Academy، انتقل إلى CoddyKit PRO. تتضمن دورة SwiftUI Academy 4 دروس في المجموع.
ماذا ستتعلم في «لماذا تحتاج View إلى الحالة»؟
افهم سبب عدم قابلية View في SwiftUI للتغيير تتمرن على SwiftUI Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ SwiftUI Academy؟
لا تُشترط خبرة سابقة. SwiftUI Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «لماذا تحتاج View إلى الحالة»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس SwiftUI Academy هذا؟
نعم. كل درس في SwiftUI Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- لماذا تحتاج View إلى الحالة
- إعلان خصائص @State
- إنشاء عدّاد للنقرات
- تبديل الظهور باستخدام الحالة