حلقه for-each (For-Each Loop)
در سوئیفت، حلقه forEach در سوئیفت با «forEach» اجرا می شود. «closure (کلِژِر)» یعنی بلوک کدی که مثل یک تابع کوچک، بعداً اجرا می شود. این روش، روی هر عضو مجموعه، کدی را اجرا می کند. مثل لیست حضور کلاس که هر اسم را می خوانی.
forEach چیست و چگونه کار می کند؟
با متد forEach روی دنباله ها می چرخیم. سپس با یک کلژر، هر عضو را پردازش می کنیم.
let items = ["A", "B", "C"]
items.forEach { value in
print(value)
}
نکته: اگر نام ندهی، می توانی از $0 برای عنصر جاری استفاده کنی.
حلقه forEach در سوئیفت با اندیس
با enumerated() همزمان «اندیس» و «مقدار» را می گیریم. سپس در کلژر چاپ می کنیم.
let items = ["A", "B", "C"]
items.enumerated().forEach { pair in
print("\(pair.offset): \(pair.element)")
}
نکته: وقتی به اندیس نیاز نداری، for-in ساده یا forEach بدون اندیس کافی است.
گام های عملی
- مجموعه را بساز؛ مثلا آرایه رشته ها.
forEachرا صدا بزن؛ کلژر را تعریف کن.- درون کلژر، عمل دلخواه را انجام بده.
برای مقایسه ساختارها، صفحه حلقه for در سوئیفت را ببین. همچنین برای ترکیب ها، حلقه های تو در تو مفید است.
جمع بندی سریع
forEachروی هر عضو اجرا می شود.- کلژر، کد کوتاه و قابل اجرا است.
enumerated()اندیس و مقدار می دهد.- بدون نیاز به اندیس، ساده تر بنویس.