List (List)
در SwiftUI «لیست (List)» برای نمایش ردیف های داده است. «لیست SwiftUI» مثل فهرست حضور کلاس است. هر ردیف یک دانش آموز است. ساده، تمیز، و قابل اسکرول.
لیست SwiftUI: ساخت لیست ساده
«قابل شناسایی (Identifiable)» یعنی هر آیتم شناسه یکتا دارد. سپس List آیتم ها را رندر می کند.
import SwiftUI
struct Item: Identifiable {
let id: Int
let title: String
}
struct ListBasicDemo: View {
let items: [Item] = [
Item(id: 1, title: "Milk"),
Item(id: 2, title: "Bread")
]
var body: some View {
List(items) { item in
Text(item.title)
}
}
}
import SwiftUI
struct ContentView: View {
var body: some View {
ListBasicDemo()
}
}
import SwiftUI
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
ردیف سفارشی با ForEach
با «ForEach» می توانی هر ردیف را شخصی سازی کنی. مثل ستون نام و قیمت در بوفه مدرسه.
import SwiftUI
struct Product: Identifiable {
let id: Int
let name: String
let price: Double
}
struct ListCustomRowsDemo: View {
let items: [Product] = [
Product(id: 1, name: "Coffee", price: 2.99),
Product(id: 2, name: "Tea", price: 1.99)
]
var body: some View {
List {
ForEach(items) { p in
HStack {
Text(p.name)
Spacer()
Text(String(format: "$%.2f", p.price))
}
}
}
}
}
import SwiftUI
struct ContentView: View {
var body: some View {
ListCustomRowsDemo()
}
}
import SwiftUI
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
گام های عملی کوتاه
- برای «لیست SwiftUI» مدل قابل شناسایی بساز.
- با List نمایش بده و چیدمان را تست کن.
- برای سطرهای خاص، ForEach و HStack استفاده کن.
نکته: شناسه ناپایدار باعث مشکل در انیمیشن و اسکرول می شود.
پیوندهای مفید
جزئیات بیشتر در لیست ها و فرم ها و همچنین فصل ForEach موجود است.
جمع بندی سریع
- لیست SwiftUI برای نمایش مجموعه هاست.
- Identifiable نظم آیتم ها را تضمین می کند.
- ForEach ردیف ها را سفارشی می کند.
- HStack چیدمان افقی می سازد.