返回 Skill 列表
extension
分类: 开发与工程无需 API Key

SwiftUI Best Practices Enforcer

审核并修复Leavn中的SwiftUI反模式 - @State使用位置不当、View主体计算过重、缺少@MainActor、属性包装器使用不当

person作者: jakexiaohubgithub

SwiftUI Best Practices Enforcer

Fix SwiftUI anti-patterns:

  1. @State for ViewModels: Move to ViewModel property

  2. Heavy View body: Extract to ViewModel computed property

  3. Missing @MainActor: Add to ViewModels

  4. Property wrapper mistakes:

    • @Observable → @State or @Bindable
    • ObservableObject → @StateObject or @ObservedObject
  5. Leavn patterns:

    • ViewModels: @Observable + @MainActor
    • Services: Protocol-based, injected via DIContainer
    • State: In ViewModel, not View
    • Bindings: Use @Bindable for @Observable types

Use when: SwiftUI issues, performance problems, architecture violations