ForEach (ForEach)
«ForEach در SwiftUI» یک «حلقه نمایشی» است. «حلقه نمایشی» یعنی از روی یک مجموعه رد می شود و برای هر مورد یک ویو می سازد. مثل حضور و غیاب، که برای هر اسم یک ردیف نشان می دهی.
ساخت لیست پویا با ForEach
وقتی داده ها آرایه هستند، ForEach روی آن راه می رود. «شناسه (id)» مشخص می کند هر آیتم یکتا باشد. اگر مقدارها ساده اند، از id: \.self استفاده کن.
import SwiftUI
struct ForEachDemo: View {
let nums: [Int] = [1, 2, 3]
var body: some View {
VStack {
ForEach(nums, id: \.self) { n in
Text("Item \\(n)")
}
}
}
}
import SwiftUI
struct ContentView: View {
var body: some View {
ForEachDemo()
}
}
import SwiftUI
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
گام های عملی
- یک آرایه نمونه بساز و مقدار بده.
- یک ForEach بنویس و id تعیین کن.
- در بدنه، ویوی دلخواه هر آیتم را بساز.
نکته: اگر مدل «Identifiable» است، دیگر id: لازم نیست. اگر مقدار ساده است، از id: \.self استفاده کن.
پیوندهای مفید
برای ارتباط با لیست ها، صفحه List و برای گروه بندی ردیف ها، صفحه Section را ببین.
منابع بیرونی: Apple Docs: ForEach، همچنین Apple Docs: List.
جمع بندی سریع
- ForEach برای تکرار ویوها استفاده می شود.
- id یکتا، رندر را پایدار می کند.
- با VStack یا List ترکیبش کن.
- برای مقدار ساده از
\.selfاستفاده کن.