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

تمرير البيانات

جزء من قسم مقدمة إلى SwiftUI في رحلة Swift على Coddy. الدرس 36 من 50.

تكون شاشة التفاصيل عادةً عبارة عن بنية عرض خاصة بها، تحتوي على خاصية للبيانات التي تعرضها:

struct RecipeDetail: View {
    let recipe: Recipe

    var body: some View {
        Text("Ready in \(recipe.minutes) minutes")
            .navigationTitle(recipe.name)
    }
}

تمنح Swift البنية مُهيّئًا بمعلمة لكل خاصية مخزّنة، لذا تُنشئها RecipeDetail(recipe: pancakes). في قائمة، يمرّر كل رابط بيانات صفّه الخاص:

List(recipes) { recipe in
    NavigationLink(recipe.name) {
        RecipeDetail(recipe: recipe)
    }
}

يحصل كل صف على رابط إلى شاشة تفاصيل لوصفته. لا يحتاج عرض التفاصيل إلى معرفة أي شيء عن القائمة على الإطلاق.

challenge icon

التحدي

متوسط

أكمل RecipeDetail: يعرض Ready in 15 minutes (باستخدام minutes الخاص بالوصفة) في نص ذي معرّف time، ويستخدم اسم الوصفة عنوانًا له. ثم اجعل كل صف في القائمة عبارة عن NavigationLink بعنوان اسم الوصفة، ويفتح RecipeDetail لتلك الوصفة.

جرّب بنفسك

import SwiftUI

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

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

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

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