@Environment (Values) (@Environment (Values))
«محیط (Environment)» یعنی مقادیر آماده سیستم یا اپ. با @Environment آن ها را می خوانیم. مثلا طرح رنگ یا زبان. این مثل تابلو اعلانات مدرسه است؛ همه می بینند.
خواندن مقادیر محیط با @Environment
با @Environment به مقدار فعلی سیستم وصل می شویم. سپس UI را بر اساس آن به روز می کنیم. مثلا طرحِ تیره یا روشن.
import SwiftUI
struct EnvironmentDemo: View {
@Environment(\.colorScheme) var scheme
var body: some View {
Text(scheme == .dark ? "Scheme: Dark" : "Scheme: Light")
.padding()
}
}
import SwiftUI
struct ContentView: View {
var body: some View {
EnvironmentDemo()
}
}
import SwiftUI
@main
struct MyApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
گام های عملی سریع
- @Environment را روی کلید مدنظر بنویس.
- مقدار را در ویو بخوان.
- UI را بر اساس مقدار تغییر بده.
نکته: «کلید محیطی» اشاره گری به یک مقدار آماده است؛ آن را نساز، فقط بخوان.
ارتباط با جریان داده
اگر حالت سراسری می خواهی، از @EnvironmentObject استفاده کن. برای مسیر کلی داده هم صفحه جریان داده در SwiftUI را ببین.
جمع بندی سریع
- @Environment مقادیر سیستم را می خواند.
- مثال رایج: colorScheme و locale.
- فقط مصرف کننده است، مالک نیست.
- برای حالت اشتراکی، EnvironmentObject بهتر است.