> swift-swiftui

Standards for State Management, View Lifecycle, and Property Wrappers. Use when managing SwiftUI state, view lifecycle, or property wrappers like @State and @Binding. (triggers: **/*.swift, @State, @Binding, @ObservedObject, View, body)

fetch
$curl "https://skillshub.wtf/HoangNguyen0403/agent-skills-standard/swift-swiftui?format=md"
SKILL.mdswift-swiftui

SwiftUI Standards

Priority: P0

Implementation Guidelines

State Management

  • @State: Private UI state owned by the view (e.g., toggle, text input).
  • @Binding: Two-way connection to parent's @State.
  • @ObservedObject: Reference to external observable object.
  • @StateObject: View owns the lifecycle of the object.
  • @EnvironmentObject: Shared data across view hierarchy.

View Composition

  • Extract Subviews: Keep views small (<200 lines). Extract reusable components.
  • View Modifiers: Chain modifiers for styling (.font(), .padding()).
  • Custom Modifiers: Create ViewModifier for reusable styles.

Performance

  • Avoid Heavy Computation: Use @State + .task() for async work.
  • Equatable: Conform views to Equatable to prevent unnecessary re-renders.
  • LazyStacks: Use LazyVStack/LazyHStack for large lists.

Anti-Patterns

  • @ObservedObject Ownership: **No @ObservedObject for owned objects**: Use @StateObject.
  • Heavy body: **No logic in body**: Move to computed properties or methods.
  • Force Unwrap in Views: **No ! in View**: Use if-let or nil coalescing.

References

┌ stats

installs/wk0
░░░░░░░░░░
github stars341
██████████
first seenMar 17, 2026
└────────────

┌ repo

HoangNguyen0403/agent-skills-standard
by HoangNguyen0403
└────────────

┌ tags

└────────────