What problem does it solve?
Developers often struggle with creating reactive and maintainable SwiftUI ViewModels without relying on deprecated or verbose patterns.
Core Features & Use Cases
- Simplified ViewModel pattern: Utilizes
@Observable macro to build ViewModels that are easily observable.
- Advanced property management: Demonstrates how to use property wrappers like
@Bindable, @State, and @ObservationIgnored effectively.
- Design consistent architecture: Implements strict MARK comment organization for clear code structure.
- Async data handling: Supports
async/await patterns for network and data operations.
- Pagination support: Outlines state tracking and load more logic for infinite scroll scenarios.
- Error management: Encapsulates error handling with user-friendly messages in ViewModels.
- Formatting and API: Promotes modern
.formatted() APIs over outdated formatters.
- API organization: Uses case-less enums for endpoints, enhancing clear API code management.
Quick Start
Build a reactive, error-resistant SwiftUI app by defining a ViewModel with @Observable, managing state with @State and @Bindable, and performing asynchronous data fetches with async/await.