CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
iOS 开发入门/课时/Swift 语言基础
RawBlame
课时目录12 节

iOS 开发入门

  1. 01iOS 生态与 Xcode
  2. 02Swift 语言基础
  3. 03UIKit 与 Interface Builder
  4. 04SwiftUI 入门
  5. 05架构模式
  6. 06数据持久化
  7. 07网络与 API
  8. 08并发与响应式
  9. 09依赖管理与 CI
  10. 10测试与调试
  11. 11上架与 ASO
  12. 12综合练习

Swift 语言基础

语法、闭包、async/await、内存管理。

35 分钟

Swift 语言基础

Swift 是 iOS 开发的核心语言:静态类型、协议导向、内存安全。对照 /roadmaps/ios「Swift 语法」节点,掌握变量、集合、闭包与 async/await 即可读懂 UIKit / SwiftUI 代码。

学习目标

  • 掌握变量、常量、可选值与错误处理
  • 理解 struct / class / protocol 的区别
  • 使用闭包与 async/await 编写异步逻辑
  • 了解 ARC 内存管理基础

核心概念

变量、类型与可选值

let name = "CodeRoadMap"          // 常量,类型推断为 String
var count = 0                      // 变量
var optional: String? = nil        // 可选值:有值或 nil

if let title = optional {
    print(title)
} else {
    print("无标题")
}

// guard 提前退出
func greet(_ user: String?) {
    guard let user = user else { return }
    print("Hello, \(user)")
}

Swift 用 Optional 显式表达「可能为空」,编译期强制解包,减少 NPE。

集合与协议

struct Lesson: Identifiable, Codable {
    let id: Int
    var title: String
    var completed: Bool
}

var lessons: [Lesson] = [
    Lesson(id: 1, title: "Swift 基础", completed: false),
    Lesson(id: 2, title: "SwiftUI", completed: false),
]

let titles = lessons.map { $0.title }
let pending = lessons.filter { !$0.completed }

struct 值类型(拷贝语义),class 引用类型(共享实例)。UI 模型常用 struct + Identifiable 协议。

闭包与 async/await

func fetchLesson(id: Int) async throws -> Lesson {
    let url = URL(string: "https://api.example.com/lessons/\(id)")!
    let (data, _) = try await URLSession.shared.data(from: url)
    return try JSONDecoder().decode(Lesson.self, from: data)
}

Task {
    do {
        let lesson = try await fetchLesson(id: 1)
        print(lesson.title)
    } catch {
        print("请求失败: \(error)")
    }
}

async/await 替代回调地狱;throws 与 do/catch 处理错误,类似 Java checked exception 但更轻量。

ARC 简述

Swift 用 ARC(自动引用计数)管理堆内存。weak / unowned 打破循环引用——闭包捕获 self 时常用 [weak self]。

与 Java/Spring 或 React 对照

SwiftJavaTypeScript / React
let / var / 普通变量
final
const / let
Optional<T>Optional<T> (Java 8+)T | undefined
struct 值类型无原生值类型(record 近似)普通 object
protocolinterfaceinterface
async/awaitCompletableFuture / Virtual Threadasync/await
ARCGCGC(浏览器)

练习

  • 定义 Track struct,含 id、title、lessons: [Lesson]
  • 用 map / filter 统计已完成课时数
  • 写一个 async throws 函数模拟网络延迟返回数据

小结

Swift = 安全类型 + 协议 + async/await。 下一课 UIKit。见 ios-essentials。

加载本节练习…
← 上一课iOS 生态与 Xcode下一课 →UIKit 与 Interface Builder