Tailwind CSSTailwind CSS
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
  • 附录:SwiftUI 和 Combine 的常用 API 参考

附录:SwiftUI 和 Combine 的常用 API 参考

SwiftUI 核心 API

视图组件

  1. 基础视图

    • Text: 显示静态文本
      Text("Hello, SwiftUI!")
      
    • Image: 加载图片资源
      Image(systemName: "star.fill")
      
    • Button: 交互式按钮
      Button("Submit") { print("Tapped") }
      
  2. 布局容器

    • VStack/HStack: 垂直/水平布局
      VStack { Text("Top"); Text("Bottom") }
      
    • List: 数据驱动列表
      List(items) { item in Text(item.name) }
      
  3. 状态管理

    • @State: 视图私有状态
      @State private var isOn = false
      
    • @Binding: 父子视图双向绑定
      @Binding var value: Bool
      

修饰符(Modifiers)

  • 外观控制
    Text("Title").font(.title).foregroundColor(.blue)
    
  • 布局调整
    .padding().frame(width: 200)
    

Combine 核心 API

发布者(Publishers)

  1. 基础发布者

    • Just: 发送单一值后终止
      Just(42).sink { print($0) }
      
    • Future: 异步操作封装
      Future { promise in promise(.success(data)) }
      
  2. 数据流操作

    • map/filter: 数据转换与过滤
      [1,2,3].publisher.map { $0 * 2 }
      

订阅者(Subscribers)

  • sink: 接收值与完成事件
    publisher.sink(
      receiveValue: { print($0) },
      receiveCompletion: { _ in print("Done") }
    )
    

属性包装器

  • @Published (ViewModel 中使用)
    class ViewModel: ObservableObject {
      @Published var count = 0
    }
    

MVVM 关键组合 API

场景SwiftUI APICombine API
数据绑定@ObservedObjectObservableObject
用户输入响应onTapGesturePassthroughSubject
网络请求task 修饰符URLSession.dataTaskPublisher
表单验证@FocusStateDebounce 操作符

提示:完整 API 文档可参考 Apple Developer 官方文档


此附录提供了快速查阅的核心 API 分类说明,包含代码片段和典型使用场景,适合作为开发时的速查手册。
Last Updated:: 4/25/25, 8:35 PM