SwiftUI Academy · درس

تمرير البيانات إلى View التفاصيل

أرسل العنصر المحدد إلى الشاشة التالية

الدرس 2 من 413 خطوة

تمرير البيانات إلى View التفاصيل درس مجاني في SwiftUI Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في SwiftUI Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة SwiftUI Academy 4 دروس في المجموع.

تحتاج شاشات التفاصيل إلى بيانات

لا تفيد شاشة التفاصيل إلا إذا عرفت أي عنصر تعرضه. لذلك، عند دفعها، تمرر الجزء المحدد من البيانات مباشرةً إلى view الجديدة. 📦

مرر البيانات عبر المُهيئ

أنظف طريقة لإرسال البيانات هي استخدام مُهيئ view التفاصيل. خزّن القيمة في property، ثم اقرأها داخل body.

struct DetailView: View {
    let title: String
    var body: some View { Text(title) }
}

وصّلها داخل الرابط

داخل وجهة NavigationLink، أنشئ view التفاصيل ومرر القيمة إليها. ينتقل العنصر المحدد مباشرةً إلى الشاشة التالية.

NavigationLink("Open") {
    DetailView(title: "Welcome")
}

تمرير نموذج كامل

لست مقيدًا بالسلاسل النصية. مرر struct كاملًا لكي تحصل شاشة التفاصيل على جميع الحقول التي تحتاج إليها دفعةً واحدة.

struct Book { let title: String; let author: String }
DetailView(book: selectedBook)

التكرار باستخدام البيانات

داخل ForEach، يمكنك تمرير كل عنصر إلى رابطه الخاص، بحيث يدفع كل صف view تفاصيل مليئة بذلك العنصر تحديدًا.

ForEach(books) { book in
    NavigationLink(book.title) { DetailView(book: book) }
}

تنُسخ أنواع القيم بأمان

لأن البنى هي value types، تحصل view التفاصيل على نسخة خاصة بها. ولا يمكن لقراءتها أن تغيّر القائمة خلفك عن طريق الخطأ.

اعرض التفاصيل الفعلية

بعد الحصول على النموذج، تستطيع view التفاصيل عرض أي شيء: العنوان، والمؤلف، والوصف، وحتى نص محسوب مبني من هذه الحقول.

var body: some View {
    VStack {
        Text(book.title).font(.title)
        Text(book.author)
    }
}

فضّل النمط الأحدث

بالنسبة إلى الروابط المعتمدة على البيانات، أرفق value ودَع navigationDestination يحدد view. فهذا يبقي كود الصف قصيرًا وقابلًا لإعادة الاستخدام.

NavigationLink(book.title, value: book)

طابق النوع

يتعامل navigationDestination مع نوع بيانات واحد. تنظر SwiftUI إلى نوع القيمة التي دفعتها وتوجهها إلى منشئ الوجهة المطابق.

.navigationDestination(for: Book.self) { book in
    DetailView(book: book)
}

أبقِ شاشات التفاصيل مركزة

ينبغي أن تستقبل view التفاصيل بياناتها، لا أن تجلبها. فتمرير البيانات إليها يجعل الشاشة reusable وسهلة المعاينة باستخدام قيم نموذجية.

انتبه إلى اتجاه البيانات

تتدفق البيانات إلى الأمام، نحو التفاصيل. ولإرسال التغييرات إلى العنصر الأب لاحقًا، ستستخدم bindings، وستتعلمها في دورة مستقبلية.

اختبار سريع

ما أبسط طريقة لمنح view التفاصيل العنصر الذي ينبغي أن تعرضه؟

مراجعة: تمرير البيانات

تمرر العنصر المحدد إلى view التفاصيل عبر مُهيئها، وغالبًا ما يكون struct كاملًا، لكي تعرض كل شاشة المحتوى الصحيح تمامًا. 🎯

البدء مجانًا

تعلم Swift مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
30
الدروس
120

الأسئلة الشائعة

هل درس «تمرير البيانات إلى View التفاصيل» مجاني؟

نعم — نص درس «تمرير البيانات إلى View التفاصيل» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة SwiftUI Academy، انتقل إلى CoddyKit PRO. تتضمن دورة SwiftUI Academy 4 دروس في المجموع.

ماذا ستتعلم في «تمرير البيانات إلى View التفاصيل»؟

أرسل العنصر المحدد إلى الشاشة التالية تتمرن على SwiftUI Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ SwiftUI Academy؟

لا تُشترط خبرة سابقة. SwiftUI Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «تمرير البيانات إلى View التفاصيل»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس SwiftUI Academy هذا؟

نعم. كل درس في SwiftUI Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. فتح الشاشات باستخدام NavigationLink
  2. تمرير البيانات إلى View التفاصيل
  3. شريط الأدوات وعنوان التنقل
  4. مسارات التنقل البرمجية
← العودة إلى SwiftUI Academy