SwiftUI極簡開發

李智威

  • 出版商: 人民郵電
  • 出版日期: 2024-07-01
  • 售價: $599
  • 貴賓價: 9.5$569
  • 語言: 簡體中文
  • 頁數: 281
  • 裝訂: 平裝
  • ISBN: 7115642524
  • ISBN-13: 9787115642523
  • 相關分類: Apple Developer
  • 立即出貨

  • SwiftUI極簡開發-preview-1
  • SwiftUI極簡開發-preview-2
SwiftUI極簡開發-preview-1

買這商品的人也買了...

相關主題

商品描述

本書從實戰應用出發,系統地講解SwiftUI開發的全過程,內容豐富且實用性強,旨在幫助讀者快速上手SwiftUI開發。

本書共14章,從SwiftUI的基礎概念開始,逐漸深入分析視圖、動畫、自動佈局機制、欄目、代碼整理、參數存儲、網絡請求、架構設計、設備管理、數據存儲等主題,為讀者提供全面的理論知識和實戰技巧。

本書適合對SwiftUI感興趣的讀者閱讀。無論你是初學者還是有一定經驗的開發者,都能夠通過本書全面瞭解SwiftUI的基礎知識和實戰技巧,並將其應用到實際項目中,開發出優秀的iOS應用。

作者簡介

李智威,iOS 独立开发者、高级产品经理、稀土掘金技术社区签约作者,拥有6年B端SaaS产品开发经验,从零开始负责过国内Top 3上市企业数智化项目的产品规划工作。独立开发并上架“不言笔记”“Linkcard 卡包”等应用,出版过《SwiftUI完全开发》等图书。曾获我爱黑“可颂”AI Hackathon大语言模型应用创新挑战赛优胜奖。

目錄大綱

第1章 未來已來:開始使用Swift和SwiftUI 1

1.1 初識SwiftUI 1

1.2 Swift和SwiftUI的關系 2

1.3 學習SwiftUI之前的準備工作 3

1.3.1 Mac電腦 3

1.3.2 Xcode開發工具 4

1.3.3 iPhone真機 5

1.4 創建第一個SwiftUI項目 5

1.5 Xcode常用功能介紹 8

1.5.1 代碼編輯區域 9

1.5.2 實時預覽窗口 10

1.5.3 項目預覽操作欄 12

1.6 項目文件結構詳解 16

1.6.1 項目主文件 17

1.6.2 項目入口文件 20

1.6.3 Assets庫 22

1.6.4 Preview Content文件夾 23

第2章 快速入門:創建第一個SwiftUI項目 24

2.1 視圖、視圖修飾符、佈局方式 24

2.2 Library 27

2.2.1 Views欄目 27

2.2.2 Modifiers欄目 29

2.2.3 Code Snippet欄目 30

2.2.4 Image和Color欄目 31

2.2.5 SF Symbols欄目 31

2.3 實戰案例:每日一句 32

2.3.1 導入並顯示圖片素材 32

2.3.2 使用Text視圖顯示文字 35

2.3.3 對多個視圖進行佈局 36

2.3.4 調整視圖的樣式 37

2.3.5 創建“推薦文字”數據集 39

2.3.6 實現參數綁定 40

2.3.7 實現隨機推薦文字 41

第3章 初探動畫:感受SwiftUI獨特的魅力 43

3.1 深入淺出使用Button視圖 43

3.1.1 創建一個Button視圖 43

3.1.2 修改Button視圖樣式 44

3.1.3 組合多個Button視圖 46

3.1.4 自定義按鈕樣式 47

3.2 引入條件判斷語句 49

3.2.1 三元運算符 49

3.2.2 if-else語句 50

3.2.3 條件判斷語句實踐 52

3.3 神奇的SwiftUI動畫 54

3.3.1 給視圖添加動畫效果 54

3.3.2 隱性動畫和顯性動畫 55

3.3.3 轉場動畫 57

第4章 視圖精析:探索SwiftUI自動佈局機制 60

4.1 View和some View的區別 60

4.2 修飾符適用場景 63

4.2.1 Image視圖常用修飾符 63

4.2.2 Text視圖常用修飾符 65

4.2.3 Stack佈局容器常用修飾符 66

4.3 創建可交互的按鈕 69

4.4 SwiftUI界面佈局規則 70

4.4.1 視圖的尺寸大小 71

4.4.2 視圖的位置 72

第5章 佈局練習:開發一個“個人簡介”界面 74

5.1 搭建“基本信息”欄目 74

5.1.1 個人頭像 75

5.1.2 個人信息 78

5.1.3 個人介紹 83

5.2 搭建“個人成就”欄目 84

5.2.1 單個數據指標 84

5.2.2 多個數據指標 85

5.2.3 視圖背景色 88

5.3 搭建“專欄列表”欄目 89

5.3.1 數據模型 89

5.3.2 單個文章專欄 91

5.3.3 多個文章專欄 92

5.4 項目預覽 94

第6章 代碼整理:讓項目代碼更加清晰 96

6.1 自定義some View 96

6.1.1 封面圖片視圖 97

6.1.2 Slogan文字視圖 97

6.1.3 快捷登錄入口視圖 98

6.1.4 用戶條款視圖 99

6.2 自定義結構體 102

6.2.1 自定義LoginBtnView視圖 103

6.2.2 使用LoginBtnView視圖 104

6.3 自定義extension方法 105

6.4 項目文件整理 107

6.4.1 代碼塊管理 107

6.4.2 文件夾管理 108

第7章 項目實戰:開發一款“Note筆記”應用 111

7.1 搭建Note數據模型 111

7.2 搭建“Note筆記”界面 113

7.2.1 筆記列表 114

7.2.2 界面標題 117

7.2.3 新增按鈕 118

7.3 搭建“新增筆記”界面 119

7.3.1 文本框 119

7.3.2 按鈕組 121

7.4 實現App的相關功能 124

7.4.1 打開彈窗 124

7.4.2 關閉彈窗 126

7.4.3 新增筆記 130

7.4.4 刪除筆記 132

第8章 項目實戰:開發一款“BMI計算器”應用 134

8.1 Form視圖介紹 134

8.2 搭建“BMI計算頁”界面 137

8.2.1 信息錄入 137

8.2.2 參考標準 139

8.2.3 計算按鈕 142

8.2.4 界面標題 143

8.3 搭建“BMI結果頁”界面 145

8.3.1 計算結果 145

8.3.2 “重新計算”按鈕 148

8.4 實現App的相關功能 149

8.4.1 界面跳轉 149

8.4.2 返回跳轉 151

8.4.3 BMI計算 152

8.4.4 BMI結果 153

第9章 參數存儲:初識數據持久化機制 156

9.1 搭建“常規設置”欄目 156

9.1.1 消息通知 157

9.1.2 深色模式 158

9.2 搭建“個性化”欄目 160

9.2.1 主題顏色 161

9.2.2 系統語言 162

9.2.3 字體大小 164

9.3 搭建“關於我們”欄目 165

9.3.1 意見反饋 165

9.3.2 去Apple Store評分 167

9.3.3 關於應用 169

9.4 實現參數持久化方法 170

9.4.1 UserDefaults 171

9.4.2 @AppStorage屬性包裝器 172

第10章 網絡請求:連接這個多彩的世界 174

10.1 從因特網上請求一張圖片 174

10.1.1 使用AsyncImage視圖 175

10.1.2 添加默認視圖 175

10.1.3 設置不同狀態下的視圖 176

10.1.4 實現刷新功能 178

10.2 URLSession網絡請求框架 180

10.2.1 基礎視圖搭建 180

10.2.2 實現網絡請求方法 181

10.3 開發一個“壁紙推薦”界面 183

10.3.1 數據模型 184

10.3.2 單張壁紙 185

10.3.3 壁紙列表 187

10.3.4 界面標題 188

10.3.5 網絡請求 189

第11章 架構設計:深入淺出MVVM模式 192

11.1 開發一個“歷史上的今天”界面 193

11.1.1 數據模型 193

11.1.2 視圖 194

11.1.3 視圖模型 196

11.2 搭建底部導航欄 200

11.3 開發一個“日歷”界面 201

11.3.1 搭建當前年月欄目 202

11.3.2 實現更新日期方法 202

11.3.3 實現格式化日期拓展方法 204

11.3.4 搭建工作周欄目 205

11.3.5 搭建日歷時間欄目 206

11.3.6 實現獲得日期數組方法 207

11.3.7 實現格式化時間拓展方法 209

11.3.8 實現起始日期匹配方法 210

11.3.9 實現選中當前日期方法 212

第12章 設備管理:掌握Core Services的奧秘 215

12.1 開發一個“身份認證”界面 215

12.1.1 卡片樣式 216

12.1.2 視圖界面 217

12.2 實現“人臉識別”欄目的功能 218

12.2.1 創建FaceIDAuthManager數據模型 218

12.2.2 實現FaceID認證方法 218

12.2.3 配置FaceID認證權限 219

12.2.4 調用FaceID認證功能 220

12.3 實現上傳證件功能 221

12.3.1 實現拍照和圖片上傳方法 221

12.3.2 配置相冊和相機權限 223

12.3.3 實現選擇上傳方式彈窗 223

12.3.4 調用圖片上傳方法 225

12.3.5 實現顯示上傳圖片邏輯 227

第13章 數據存儲:使用FileManager 230

13.1 搭建底部導航欄 231

13.2 開發一個“推薦”界面 232

13.2.1 sentences文字數組 232

13.2.2 文字卡片 233

13.2.3 滑動卡片 234

13.2.4 “收藏”按鈕 236

13.3 開發一個“筆記”界面 237

13.3.1 數據模型 237

13.3.2 視圖模型 237

13.3.3 視圖 238

13.4 實現收藏文字功能 241

13.4.1 實現獲得文字方法 241

13.4.2 實現添加筆記方法 243

13.4.3 實現獲得當前日期方法 243

13.4.4 調用添加筆記方法 244

13.4.5 共享ViewModel實例 245

13.5 實現數據持久化功能 246

13.5.1 實現存儲筆記方法 246

13.5.2 實現讀取筆記方法 248

13.5.3 實現刪除筆記方法 249

第14章 項目實戰:開發一款“目標人生”應用 252

14.1 開發一個“啟動頁”界面 252

14.1.1 使用Launch Screen文件 252

14.1.2 設置Launch Screen來源 255

14.1.3 預覽“啟動頁”界面 255

14.2 開發一個“引導頁”界面 256

14.2.1 功能卡片 256

14.2.2 輪播卡片 257

14.2.3 “開始使用”按鈕 258

14.3 開發一個“創建目標”界面 259

14.3.1 目標名稱 259

14.3.2 達成日期 260

14.3.3 日期格式化 261

14.3.4 操作按鈕 263

14.4 實現打開/關閉彈窗功能 264

14.4.1 打開彈窗 264

14.4.2 通用設置 265

14.4.3 關閉彈窗 267

14.5 開發一個“首頁”界面 267

14.5.1 數據模型 268

14.5.2 單例模式 271

14.5.3 視圖模型 272

14.5.4 視圖 273

14.6 實現新增目標功能 278

14.6.1 實現新增目標方法 278

14.6.2 調用新增目標方法 279