Use an `ObservableObject` owned by the root view, then inject it into the view hierarchy with `.environmentObject()`: ```swift final class AppModel: ObservableObject { @Published var username = "" } struct RootView: View { @StateObject private var model = AppModel() // View owns lifecycle var body: some View { VStack { ChildView() } .environmentObject(model) // Inject into the hierarchy } } struct ChildView: View { @EnvironmentObject private var model: AppModel var body: some View { TextField...
Scanned 9/5/2026
Install to Claude Code
npx -y skills add HoangNguyen0403/agent-skills-standard --skill swift-swiftui --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Swift Swiftui?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/hoangnguyen0403-swift-swiftui-f84f71ec)More formats (shields.io, HTML) on the badges page.
Use an `ObservableObject` owned by the root view, then inject it into the view hierarchy with `.environmentObject()`:
```swift
final class AppModel: ObservableObject {
@Published var username = ""
}
struct RootView: View {
@StateObject private var model = AppModel() // View owns lifecycle
var body: some View {
VStack {
ChildView()
}
.environmentObject(model) // Inject into the hierarchy
}
}
struct ChildView: View {
@EnvironmentObject private var model: AppModel
var body: some View {
TextField("Username", text: $model.username)
}
}
```
Use the appropriate property wrapper depending on ownership:
- `@State` — data owned by a view, such as a toggle or text input.
- `@Binding` — two-way data passed down from a parent to a child.
- `@StateObject` — the view creates and owns an observable object.
- `@ObservedObject` — the view receives an observable object from an external source.
- `@EnvironmentObject` — shared observable data injected into and accessed throughout a view hierarchy.
For a large number of views in a scrolling container, use `LazyVStack` or `LazyHStack` so views load only as they appear.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!