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

创建项目

我们已经完成了对 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 UIiOS App 项目。

下面我们来分析一下我们创建出来的这个项目。

目录结构

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

  1. Assets: 这里放了 iOS App 的相关资源文件,有图标,色彩定义等。后续使用到了会详细介绍。
  2. CotentView: 页面文件,整个 iOS 项目都由一个个 View 组成,每个 View 也能作为组件放到其他 View 中,这就很想前端现在的组件化。
  3. TestDemoApp: 这是整个项目的入口文件,这个文件里的代码定义了入口。

代码文件

接下来进代码可以分析一下这两个文件都做了些什么:

Typescript 复制代码
import SwiftUI // 导入 Swift UI 包

@main // 这里表示这里是main,作为入库,相当于我们其他编程中的 main 函数
struct TestDemoApp: App { // 定义了一个结构体
    var body: some Scene {
        WindowGroup {
            ContentView() // 把 ContentView 放进来执行
        }
    }
}

这个入口文件,定义使用 @main 定义了入口,并且调用了 ContentView。那接下来看看 ContentView 的代码。

Typescript 复制代码
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 的定义,它和结构体有部分相同之处,也有一些不一样的地方,后续使用到的时候再详细介绍。

从这里可以看出,结构体可以定义一些变量,同时也能定义一些常量和方法。

例如,定义一个结构体:

Typescript 复制代码
struct TestStruct {
    var number: Int
}

这就定义了一个有属性的结构体,同时,我们再定义属性的时候,也可以对其初始化。

Typescript 复制代码
struct TestStruct {
    var number: Int = 1
}

定义好了结构体,就可以对结构体进行实例化,可以看到示例代码中,已经有对结构体进行实例化的例子,在 #Preview处。对于已经初始化变量的结构体,我们可以再初始化的时候,不带参数:

Typescript 复制代码
struct TestStruct {
    var number: Int = 1
}

TestStruct()

然而,在未初始化的结构体中,则必须在实例化的时候,带上参数,不然会发生报错:

Typescript 复制代码
struct TestStruct {
    var number: Int
}

TestStruct(number: 1)

结尾

这里,我们就创建除了一个最简单的 iOS App 项目。同时也对 Swift 的结构体有了一定的了解。

相关推荐
zhensherlock18 小时前
Protocol Launcher 系列:1Writer iOS 上的 Markdown 文档管理
javascript·笔记·ios·typescript·node.js·iphone·ipad
ˇasushiro18 小时前
终端工具配置
开发语言·ios·swift
CDN36020 小时前
iOS/Android 集成游戏盾审核被拒?权限与合规配置修复
android·游戏·ios
sun032221 小时前
旧版Ipad无法访问https的原因(不支持TLS1.3)
ios·https·ipad
humors2212 天前
[原创]AI工具:读取手机系统文件工具
windows·ios·安卓·鸿蒙·文件·苹果·读取
humors2212 天前
[原创]AI工具:手机文件查杀病毒工具
windows·ios·手机·安卓·鸿蒙·杀毒·苹果
2501_915918412 天前
iOS性能测试工具 Instruments、Keymob的使用方法 不局限 FPS
android·ios·小程序·https·uni-app·iphone·webview
左左右右左右摇晃3 天前
Tasker笔记
ios·iphone
恋猫de小郭3 天前
Android Studio Panda 3 发布,CMP 导致的 Gemini 输入问题
android·ide·flutter·ios·android studio
2501_915918413 天前
iOS 混淆流程 提升 IPA 分析难度 实现 IPA 深度加固
android·ios·小程序·https·uni-app·iphone·webview