# Swiftui IOS Development

> Use when building iOS apps with SwiftUI.

- Skill: `loopyluci/swiftui-ios-development` (Agent Skill)
- Install (CLI): `npx skillmds@latest add loopyluci/swiftui-ios-development`
- Raw SKILL.md: https://api.skillmd.com/api/skills/loopyluci/swiftui-ios-development/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: MIT
- Author: LoopyLuci (https://skillmd.com/u/loopyluci)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/loopyluci/swiftui-ios-development

---


# SwiftUI iOS Development

Building iOS apps with SwiftUI — from view composition and data flow through navigation, state management, networking, and App Store deployment.

## When to Use

- Building iOS, iPadOS, macOS, watchOS apps
- Implementing SwiftUI declarative UI
- Managing state with @State, @Binding, @Observable
- Building with SwiftData or Core Data

## SwiftUI Patterns

```swift
import SwiftUI

// MVVM pattern with @Observable
@Observable
class TaskViewModel {
    var tasks: [Task] = []
    var isLoading = false
    
    func fetchTasks() async {
        isLoading = true
        // API call
        tasks = await api.fetchTasks()
        isLoading = false
    }
}

struct TaskListView: View {
    @State private var vm = TaskViewModel()
    
    var body: some View {
        NavigationStack {
            List(vm.tasks) { task in
                HStack {
                    Text(task.title)
                    Spacer()
                    Image(systemName: task.isDone ? "checkmark.circle.fill" : "circle")
                }
            }
            .navigationTitle("Tasks")
            .toolbar {
                ToolbarItem { Button("Add") { /* add task */ } }
            }
            .task { await vm.fetchTasks() }
        }
    }
}
```

## Verification Checklist

- [ ] Data flow pattern chosen (MVVM, TCA, or SwiftUI native)
- [ ] Navigation (NavigationStack, TabView, SplitView)
- [ ] State management (@State, @Observable, @Bindable)
- [ ] Persistence (SwiftData, CoreData, or UserDefaults)
- [ ] Networking (URLSession, async/await)
- [ ] Adaptability (iPad, Mac Catalyst, visionOS)
- [ ] Performance: LazyVStack, image caching, prefetching
- [ ] App Store Connect configuration ready

