SwiftUI 是 Apple 开发的一个用于构建用户界面的框架,旨在通过一种声明式的方式来简化iOS、iPadOS、macOS、tvOS 和 watchOS 应用开发。SwiftUI 通过组合简单的声明来创建复杂的用户界面,这使得开发者能够以更少的代码实现更多的功能。
一、SwiftUI 的核心概念
1、声明式语法:与命令式编程(如UIKit)不同,SwiftUI 使用声明式语法。这意味着你描述界面应该是什么样子,而不是如何改变它。例如,如果你想要一个文本标签显示 "Hello, World!",你只需写下一行代码 Text("Hello, World!") 而不是一系列的步骤来创建和配置视图。
2、数据驱动:SwiftUI 是数据驱动的,这意味着当数据变化时,界面会自动更新以反映这些变化。这通过使用 @State、@Binding 和 @ObservedObject 等属性包装器来实现。
3、组合视图:在 SwiftUI 中,你可以通过组合不同的视图来创建复杂的界面。例如,你可以组合一个 Text 视图和一个 Image 视图来创建一个包含文本和图片的视图。
4、无障碍性:SwiftUI 提供了内置的支持来创建无障碍的应用程序,使得应用程序对所有用户都是友好的,包括那些使用辅助技术的用户。
二、开始使用 SwiftUI
要在你的 Xcode 项目中使用 SwiftUI,你可以创建一个新的 SwiftUI 项目或在现有的项目中添加 SwiftUI 视图。
创建一个新的 SwiftUI 项目
1、打开 Xcode。
2、选择 “File” > “New” > “Project”。
3、选择 “SwiftUI App” 并点击 “Next”。
4、填写项目名称(比如:SwiftUIProject)、团队和其它必要信息,然后点击 “Next”。
5、选择保存位置并点击 “Create”。
在现有项目中添加 SwiftUI 视图
1、打开你的 Xcode 项目。
2、选择或创建一个新的 Swift 文件。
3、在文件中,你可以开始编写 SwiftUI 代码了。
例如:打开新建的项目你会看到2个文件,ContentView.swift文件和SwiftUIProjectApp.swift文件


//这个Preview是可以在xcode上直接预览界面
#Preview {
ContentView()
}
3、 核心概念解析
🎯 @main 属性
- 标记应用程序的入口点
- 相当于传统 UIKit 中的 UIApplicationMain 函数
🎯 App 协议
- SwiftUI 应用的核心协议
- 必须实现 body 属性返回 Scene
🎯 WindowGroup
- 管理应用的窗口生命周期
- 自动适配不同设备(iPhone、iPad、Mac 等)
- 支持多窗口场景
🎯 View 协议
- SwiftUI 应用的核心协议
- 任何想要成为 UI 元素的类型都必须遵守它
- 必须实现 body 属性返回 some View