Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

خاصية @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: فهي تخص هذه الواجهة.

challenge icon

التحدي

سهل

أكمل عدّاد النقرات. إجراء الزر فارغ: اجعل كل نقرة تضيف 1 إلى taps، بحيث يعرض النص Taps: 1 بعد نقرة واحدة وTaps: 2 بعد نقرتين.

جرّب بنفسك

import SwiftUI

@main
struct CoddyApp: App {
    var body: some Scene {
        WindowGroup {
            ContentView()
        }
    }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس مقدمة إلى SwiftUI

تدرّب بنفسك: Playground لـ Swift