العناصر القابلة للتعريف
جزء من قسم مقدمة إلى SwiftUI في رحلة Swift على Coddy. الدرس 30 من 50.
تحتوي القوائم الحقيقية على بنيات، ويمكن لعنصرين مشاركة الاسم نفسه. امنح كل عنصر هويته الخاصة بجعل البنية Identifiable: فهي تحتاج إلى خاصية id تختلف من عنصر إلى آخر.
struct Book: Identifiable {
let id = UUID()
let title: String
let author: String
}تنشئ UUID() قيمة جديدة عشوائية وفريدة في كل مرة يتم فيها إنشاء Book. ومع العناصر Identifiable، لا تحتاج ForEach إلى وسيطة id::
ForEach(books) { book in
VStack(alignment: .leading) {
Text(book.title)
.font(.headline)
Text(book.author)
}
}التحدي
سهلإنّ Book يكاد يكون جاهزًا لـ ForEach. اجعله يلتزم بـ Identifiable من خلال إضافة الخاصية let id = UUID()، ثم اعرض عنوان كل كتاب باستخدام ForEach(books) داخل VStack.
جرّب بنفسك
import SwiftUI
@main
struct CoddyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس مقدمة إلى SwiftUI
تدرّب بنفسك: Playground لـ Swift