创建项目
现在已经完成了对 Xcode 的安装,所以开发环境已经安装完成了,接下来就需要开始真正的 iOS 开发了。对于 iOS 开发,这里使用了目前苹果比较推荐初学者入门的方式,使用 Swift 语言进行编程,并且使用苹果推荐的 SwiftUI。
1. 新建项目: 首先点击 Xcode 图标打开 Xcode,这时候会出现 Xcode 的初始界面,在这里点击 Create New Project... 创建一个新的项目。
2. 创建一个 iOS 项目: 之后需要选择开发什么类型的项目,需要开发的是 iOS 平台的 App,所以在对话框中,选择 Applocation 中的 App 选项,再点击 Next 按钮。
3. 选择项目的详细信息: 点击 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 结构体是一种通用且灵活的构造体,我们可以理解为一种组织代码的方式,如果有其他编程经验,相信对结构体和类并不陌生。
在 Swift 中结构体可以定义属性和方法,这个和其他编程语言中的 class—— 类很像。 Swift 中,也存在数据类型类的定义,类和结构体有部分相同之处,也有一些不一样的地方,后续使用到的时候再详细介绍。
从这里可以看出,结构体可以定义一些变量,同时也能定义一些常量和方法。(这里不太懂的同学可以先不急着了解,下一节会详细介绍 Swift 语言编程的基础知识)例如,定义一个结构体:
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 的结构体有了一定的了解。