iOS 学习笔记 - 创建第一个APP

331 阅读4分钟

创建项目

现在已经完成了对 Xcode 的安装,所以开发环境已经安装完成了,接下来就需要开始真正的 iOS 开发了。对于 iOS 开发,这里使用了目前苹果比较推荐初学者入门的方式,使用 Swift 语言进行编程,并且使用苹果推荐的 SwiftUI

1. 新建项目: 首先点击 Xcode 图标打开 Xcode,这时候会出现 Xcode 的初始界面,在这里点击 Create New Project... 创建一个新的项目。 截屏2026-03-15 23.15.00.png

2. 创建一个 iOS 项目: 之后需要选择开发什么类型的项目,需要开发的是 iOS 平台的 App,所以在对话框中,选择 Applocation 中的 App 选项,再点击 Next 按钮。 截屏2026-03-15 23.33.34.png

3. 选择项目的详细信息: 点击 Next 之后,就能看到配置具体的项目信息的选项,填写项目的基础信息。

  • Product Name: TestDemo
  • Organization Identifier: com.meohao 这个对则
  • Interface: 选择默认的 Swift UI
  • Language: 开发语言选择 Swift

然后点击 Next,之后选择保存的目录,就能创建出一个最基础的 iOS App 的项目了。 截屏2026-03-15 23.39.16.png

项目分析

完成了最基础的项目创建,可以得到一个简单的 iOS 的项目代码和目录结构,并且右侧会展示我们当前页面的预览。这是一个基于 Swift UIiOS App 项目。

image.png

下面可以分析一下创建出来的这个新项目项目。

目录结构

Xcode 中,左侧显示了项目目录结构,可以看到,我们的项目中包含三部分:

  1. Assets: 这里放了 iOS App 的相关资源文件,有图标,色彩定义等。后续使用到了会详细介绍。
  2. CotentView: 页面文件,整个 iOS 项目都由一个个 View 组成,每个 View 也能作为组件放到其他 View 中,这就很想前端现在的组件化。
  3. 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 的结构体有了一定的了解。