创建项目
我们已经完成了对 Xcode 的安装,相当于环境已经 OK 了,那么接下来就需要开始真正的 iOS 开发了。
首先点击 Xcode 图标打开 Xcode,这时候会出现 Xcode 的初始界面,在这里点击 Create New Project... 创建一个新的项目。
之后需要选择开发什么类型的项目,需要开发的是 iOS 平台的 App,所以在对话框中,选择 Applocation 中的 App 选项,再点击 Next 按钮。
点击 Next 之后,就能看到配置具体的项目信息的选项,填写项目的基础信息。
- Product Name: TestDemo
- Organization Identifier: com.meohao 这个对则
- Interface: 选择默认的 Swift UI
- Language: 开发语言选择 Swift
然后点击 Next,之后选择保存的目录,就能创建出一个最基础的 iOS App 的项目了。
项目分析
完成了最基础的项目创建,可以得到一个简单的 iOS 的项目代码和目录结构,并且右侧会展示我们当前页面的预览。这是一个基于 Swift UI 的 iOS App 项目。
下面我们来分析一下我们创建出来的这个项目。
目录结构
在 Xcode 中,左侧显示了项目目录结构,可以看到,我们的项目中包含三部分:
- Assets: 这里放了 iOS App 的相关资源文件,有图标,色彩定义等。后续使用到了会详细介绍。
- CotentView: 页面文件,整个 iOS 项目都由一个个 View 组成,每个 View 也能作为组件放到其他 View 中,这就很想前端现在的组件化。
- TestDemoApp: 这是整个项目的入口文件,这个文件里的代码定义了入口。
代码文件
接下来进代码可以分析一下这两个文件都做了些什么:
import SwiftUI // 导入 Swift UI 包
@main // 这里表示这里是main,作为入库,相当于我们其他编程中的 main 函数
struct TestDemoApp: App { // 定义了一个结构体
var body: some Scene {
WindowGroup {
ContentView() // 把 ContentView 放进来执行
}
}
}
这个入口文件,定义使用 @main 定义了入口,并且调用了 ContentView。那接下来看看 ContentView 的代码。
import SwiftUI
struct ContentView: View { // 定义结构体
var body: some View {
VStack { // 使用布局方式 竖排布局
Image(systemName: "globe") // 展示图片
.imageScale(.large) // 设置大小
.foregroundStyle(.tint) // 设置样式
Text("Hello, world!") // 展示文字
}
.padding() // 这个布局外加上边距
}
}
#Preview { // 通过设个代码,可以再右侧看到当前的预览
ContentView()
}
这两段代码中,可以认识到 Swift 结构和一些知识。
Swift 结构体
Swift 结构体是一种通用且灵活的构造体。结构体可以定义属性和方法,这个和其他编程语言中的 class 很像,但 Swift 中,也存在 class 的定义,它和结构体有部分相同之处,也有一些不一样的地方,后续使用到的时候再详细介绍。
从这里可以看出,结构体可以定义一些变量,同时也能定义一些常量和方法。
例如,定义一个结构体:
struct TestStruct {
var number: Int
}
这就定义了一个有属性的结构体,同时,我们再定义属性的时候,也可以对其初始化。
struct TestStruct {
var number: Int = 1
}
定义好了结构体,就可以对结构体进行实例化,可以看到示例代码中,已经有对结构体进行实例化的例子,在 #Preview处。对于已经初始化变量的结构体,我们可以再初始化的时候,不带参数:
struct TestStruct {
var number: Int = 1
}
TestStruct()
然而,在未初始化的结构体中,则必须在实例化的时候,带上参数,不然会发生报错:
struct TestStruct {
var number: Int
}
TestStruct(number: 1)
结尾
这里,我们就创建除了一个最简单的 iOS App 项目。同时也对 Swift 的结构体有了一定的了解。