內容簡介
iOS App程式開發實務攻略:快速精通iOS 14程式設計
內容簡介
使用Xcode 12 & iOS 14 & Swift 5開發
掌握廣受歡迎的Swift教學內容
快速強化你的iOS App開發實戰能力
逐步實作出具有精美UI、實用功能及支援雲端資料傳輸的「FoodPin」App
| 了解最新版Xcode開發工具 | 快速學習Swift App程式編寫、物件導向和MVC程式設計 | 實作動態視覺效果 | 使用原型儲存格、差異性資料源與深色模式自訂表格視圖 | 運用Core Data和CloudKit存取資料 | 使用第三方套件 | App本地化 | 開發使用者通知 | App測試和上架程序 |
作者公開多年來的iOS開發經驗,並集結廣受歡迎的iOS教學文章,以Swift 5.3與Xcode 12重新編寫,精心設計出30個章節,由基礎入門開始,逐步實作出具有精美UI及實用功能、支援雲端資料傳輸和深色模式的「FoodPin」App,而且「FoodPin」App完全支援新推出的iOS 14以及iPhone 12/12 Pro、iPad Pro。
本書首先介紹Swift語言的觀念,並學習規劃App的原型,然後每章針對iOS開發的各個面向提供了提示與技巧,以及許多需要親手操作的練習,最後你可從無到有來開發出一個真正的App。本書將會教導你如何使用Xcode來佈局使用者介面,並熟悉iOS 14 SDK的基本API。跟著本書內容學習,將可獲得真實開發App的體驗,並打好Swift程式語言的基礎,掌握住程式開發的訣竅。
本書是為了Swift與iOS程式設計的初學者而撰寫,不論你是想學習新程式語言的程式設計師,或是想要將你的設計轉換為iOS App的設計師,這本書絕對是你的首選。
【本書精采內容】
☛Swift基礎介紹。
☛利用Playground快速學習Swift。
☛使用Swift從無到有打造第一個App。
☛學習App原型設計與前置規劃。
☛建立App的常用元件。
☛了解自動佈局與堆疊視圖建立自適應UI。
☛不可不學的安全區域觀念。
☛設計適合所有螢幕尺寸的App,讓UI相容iPhone 12/12 Pro和iPad Pro。
☛設計導覽列大標題。
☛自訂表格視圖儲存格來打造更優雅的App。
☛學習使用差異性資料來源更新表格資料。
☛建立導覽控制器與Segue的基礎觀念。
☛了解物件導向程式設計和MVC開發方法。
☛建立動畫與視覺效果。
☛使用靜態表格視圖與照片庫。
☛運用地圖並學會最新的標註功能。
☛使用搜尋列做關鍵字搜尋。
☛建立導覽畫面來讓使用者迅速熟悉App。
☛建立與運用標籤列。
☛在App嵌入瀏覽器與網頁視圖。
☛運用使用者通知來提升App黏著度。
☛運用3D觸控、觸覺觸控及內容選單。
☛儲存資料至資料庫。
☛整合運用CloudKit。
☛App多國語系化。
☛在實機上部署與測試App,並學會最新的WiFi部署功能。
☛使用TestFlight安排Beta測試。
☛在App Store上架你的App。
內容簡介
使用Xcode 12 & iOS 14 & Swift 5開發
掌握廣受歡迎的Swift教學內容
快速強化你的iOS App開發實戰能力
逐步實作出具有精美UI、實用功能及支援雲端資料傳輸的「FoodPin」App
| 了解最新版Xcode開發工具 | 快速學習Swift App程式編寫、物件導向和MVC程式設計 | 實作動態視覺效果 | 使用原型儲存格、差異性資料源與深色模式自訂表格視圖 | 運用Core Data和CloudKit存取資料 | 使用第三方套件 | App本地化 | 開發使用者通知 | App測試和上架程序 |
作者公開多年來的iOS開發經驗,並集結廣受歡迎的iOS教學文章,以Swift 5.3與Xcode 12重新編寫,精心設計出30個章節,由基礎入門開始,逐步實作出具有精美UI及實用功能、支援雲端資料傳輸和深色模式的「FoodPin」App,而且「FoodPin」App完全支援新推出的iOS 14以及iPhone 12/12 Pro、iPad Pro。
本書首先介紹Swift語言的觀念,並學習規劃App的原型,然後每章針對iOS開發的各個面向提供了提示與技巧,以及許多需要親手操作的練習,最後你可從無到有來開發出一個真正的App。本書將會教導你如何使用Xcode來佈局使用者介面,並熟悉iOS 14 SDK的基本API。跟著本書內容學習,將可獲得真實開發App的體驗,並打好Swift程式語言的基礎,掌握住程式開發的訣竅。
本書是為了Swift與iOS程式設計的初學者而撰寫,不論你是想學習新程式語言的程式設計師,或是想要將你的設計轉換為iOS App的設計師,這本書絕對是你的首選。
【本書精采內容】
☛Swift基礎介紹。
☛利用Playground快速學習Swift。
☛使用Swift從無到有打造第一個App。
☛學習App原型設計與前置規劃。
☛建立App的常用元件。
☛了解自動佈局與堆疊視圖建立自適應UI。
☛不可不學的安全區域觀念。
☛設計適合所有螢幕尺寸的App,讓UI相容iPhone 12/12 Pro和iPad Pro。
☛設計導覽列大標題。
☛自訂表格視圖儲存格來打造更優雅的App。
☛學習使用差異性資料來源更新表格資料。
☛建立導覽控制器與Segue的基礎觀念。
☛了解物件導向程式設計和MVC開發方法。
☛建立動畫與視覺效果。
☛使用靜態表格視圖與照片庫。
☛運用地圖並學會最新的標註功能。
☛使用搜尋列做關鍵字搜尋。
☛建立導覽畫面來讓使用者迅速熟悉App。
☛建立與運用標籤列。
☛在App嵌入瀏覽器與網頁視圖。
☛運用使用者通知來提升App黏著度。
☛運用3D觸控、觸覺觸控及內容選單。
☛儲存資料至資料庫。
☛整合運用CloudKit。
☛App多國語系化。
☛在實機上部署與測試App,並學會最新的WiFi部署功能。
☛使用TestFlight安排Beta測試。
☛在App Store上架你的App。
作者簡介
作者簡介
Simon Ng
軟體工程師&AppCoda創辦人。畢業於香港中文大學電子工程系,曾任職於HSBC、FedEx等公司,專責軟體開發、系統設計。2012年創立AppCoda技術部落格,定期發表iOS程式教學文章,其部落格每月吸引20多萬名讀者點閱。現在致力於iOS程式教學、產品設計及開發,希望幫助更多人進入iOS的程式世界。
【英文網站】
www.appcoda.com
【中文網站】
www.appcoda.com.tw
【AppCoda開發者社群】
facebook.com/groups/appcodatw
Simon Ng
軟體工程師&AppCoda創辦人。畢業於香港中文大學電子工程系,曾任職於HSBC、FedEx等公司,專責軟體開發、系統設計。2012年創立AppCoda技術部落格,定期發表iOS程式教學文章,其部落格每月吸引20多萬名讀者點閱。現在致力於iOS程式教學、產品設計及開發,希望幫助更多人進入iOS的程式世界。
【英文網站】
www.appcoda.com
【中文網站】
www.appcoda.com.tw
【AppCoda開發者社群】
facebook.com/groups/appcodatw
內容目錄
目錄
|CHAPTER 01| 開發工具、學習方法與App點子
1.1 開發App的所需工具
1.2 學習App的方式
1.3 發想App好點子
1.4 本章小結
|CHAPTER 02| 使用Playground來首次體驗Swift
2.1 開始學習Swift
2.2 在Playground中測試Swift
2.3 常數與變數
2.4 了解型別推論
2.5 文字的處理
2.6 流程控制
2.7 了解陣列與字典
2.8 了解可選型別
2.9 玩玩UI
2.10 下一章的主題
|CHAPTER 03| Hello World!使用Swift建立第一個App
3.1 你的第一個App
3.2 開始建立專案
3.3 熟悉Xcode工作區
3.4 第一次執行你的App
3.5 快速演練介面建構器
3.6 設計使用者介面
3.7 為Hello World按鈕加上程式碼
3.8 使用者介面與程式碼間的連結
3.9 測試你的App
3.10 變更按鈕顏色
3.11 你的作業:繼續修改專案
3.12 下一章的主題
|CHAPTER 04| 進階說明Hello World App的原理
4.1 了解實作與介面
4.2 觸控背後
4.3 深入了解showMessage方法
4.4 使用者介面與程式碼的關係
4.5 UIViewController與視圖控制器的生命週期
4.6 「執行」按鈕背後的動作原理
4.7 本章小結
|CHAPTER 05| 自動佈局介紹
5.1 為何要自動佈局?
5.2 自動佈局和約束條件息息相關
5.3 在介面建構器即時預覽
5.4 使用自動佈局將按鈕置中
5.5 解決佈局約束條件問題
5.6 預覽故事板的另一種方式
5.7 加入標籤
5.8 安全區域
5.9 編輯約束條件
5.10 你的作業:加入表情符號標籤
5.11 本章小結
|CHAPTER 06| 使用堆疊視圖設計UI
6.1 堆疊視圖是什麼?
6.2 範例App
6.3 建立新專案
6.4 加入圖片至Xcode專案
6.5 使用堆疊視圖佈局標題標籤
6.6 使用堆疊視圖佈局圖片
6.7 對堆疊視圖定義佈局約束條件
6.8 在圖片下方加入標籤
6.9 使用堆疊視圖佈局按鈕
6.10 使用尺寸類別調整堆疊視圖
6.11 保存向量資料
6.12 你的作業:建立佈局特規、加入標籤
6.13 本章小結
|CHAPTER 07| 原型設計
7.1 在紙上繪出你的App點子
7.2 繪出App線框圖
7.3 使你的草圖/線框圖可互動
7.4 常用的原型設計工具
7.5 本章小結
|CHAPTER 08| 建立簡單的表格式App
8.1 建立一個SimpleTable專案
8.2 設計使用者介面
8.3 執行App迅速測試
8.4 UITableView 與協定
8.5 陣列新手教學
8.6 連結DataSource與Delegate
8.7 測試你的表格式App
8.8 在表格視圖中加入縮圖
8.9 隱藏狀態列.
8.10 你的作業:各個儲存格顯示不同的圖片
8.11 本章小結
|CHAPTER 09| 使用原型儲存格、差異性資料來源與深色模式自訂表格視圖
9.1 使用UITableViewController 與UITableViewDiffableDataSource建立表格視圖App
9.2 顯示不同的縮圖
9.3 自訂表格視圖儲存格
9.4 在介面建構器中設計原型儲存格
9.5 為自訂儲存格建立類別
9.6 建立連結
9.7 更新儲存格提供者
9.8 圖片圓角化
9.9 使用深色模式測試App
9.10 你的作業:修復問題並重新設計自訂表格
9.11 本章小結
|CHAPTER 10| 使用UIAlertController顯示提示並處理表格視圖選取
10.1 建立更優雅的儲存格佈局
10.2 查閱文件
10.3 實作協定來管理列的選取
10.4 了解UIAlertController
10.5 對提示控制器加入動作
10.6 遇到錯誤
10.7 使用iPad執行App
10.8 在iPad上遇到另一個錯誤
10.9 你的作業:取消勾選與使用其他圖示
10.10 本章小結
|CHAPTER 11| 物件導向程式設計、組織專案與程式碼說明文件
11.1 物件導向程式設計的基礎理論
11.2 類別、物件及實例
11.3 結構
11.4 複習FoodPin專案
11.5 建立Restaurant結構
11.6 初始化器的說明
11.7 self關鍵字
11.8 預設初始化器
11.9 使用Restaurant物件的陣列
11.10 組織你的Xcode專案檔
11.11 以註解來記錄與組織Swift程式碼
11.12 本章小結
11.13 進階參考文獻
|CHAPTER 12| 表格列刪除、滑動動作、動態控制器與MVC
12.1 淺談模型-視圖-控制器
12.2 了解模型-視圖-控制器
12.3 在UITableView刪除列
12.4 啟用滑動刪除功能
12.5 使用快照從表格視圖刪除列資料
12.6 使用UIContextualAction滑動帶出其他動作
12.7 SF Symbols介紹
12.8 自訂UIContextualAction
12.9 在iPad上測試
12.10 你的作業:實作向右滑動
12.11 本章小結
|CHAPTER 13| 導覽控制器與Segue
13.1 故事板中的場景及Segue
13.2 建立導覽控制器
13.3 導覽列大標題
13.4 加入細節視圖控制器
13.5 建立細節視圖控制器的新類別
13.6 為自訂類別加入變數
13.7 使用Segue傳送資料
13.8 停用大標題
13.9 你的作業:加入更多的餐廳資訊
13.10 本章小結
|CHAPTER 14| 改善細節視圖、自訂字型與自適應儲存格
14.1 了解起始專案
14.2 使用自訂字型
14.3 設計表格視圖頭部
14.4 了解圖片視圖的縮放
14.5 修復問題
14.6 餐廳名稱被截掉
14.7 使用UIView調暗圖片
14.8 對動態型別使用自訂字型
14.9 設計原型儲存格
14.10 更新RestaurantDetailViewController類別
14.11 準備測試
14.12 自訂表格視圖分隔符號
14.13 了解自適應儲存格
14.14 本章小結
|CHAPTER 1
|CHAPTER 01| 開發工具、學習方法與App點子
1.1 開發App的所需工具
1.2 學習App的方式
1.3 發想App好點子
1.4 本章小結
|CHAPTER 02| 使用Playground來首次體驗Swift
2.1 開始學習Swift
2.2 在Playground中測試Swift
2.3 常數與變數
2.4 了解型別推論
2.5 文字的處理
2.6 流程控制
2.7 了解陣列與字典
2.8 了解可選型別
2.9 玩玩UI
2.10 下一章的主題
|CHAPTER 03| Hello World!使用Swift建立第一個App
3.1 你的第一個App
3.2 開始建立專案
3.3 熟悉Xcode工作區
3.4 第一次執行你的App
3.5 快速演練介面建構器
3.6 設計使用者介面
3.7 為Hello World按鈕加上程式碼
3.8 使用者介面與程式碼間的連結
3.9 測試你的App
3.10 變更按鈕顏色
3.11 你的作業:繼續修改專案
3.12 下一章的主題
|CHAPTER 04| 進階說明Hello World App的原理
4.1 了解實作與介面
4.2 觸控背後
4.3 深入了解showMessage方法
4.4 使用者介面與程式碼的關係
4.5 UIViewController與視圖控制器的生命週期
4.6 「執行」按鈕背後的動作原理
4.7 本章小結
|CHAPTER 05| 自動佈局介紹
5.1 為何要自動佈局?
5.2 自動佈局和約束條件息息相關
5.3 在介面建構器即時預覽
5.4 使用自動佈局將按鈕置中
5.5 解決佈局約束條件問題
5.6 預覽故事板的另一種方式
5.7 加入標籤
5.8 安全區域
5.9 編輯約束條件
5.10 你的作業:加入表情符號標籤
5.11 本章小結
|CHAPTER 06| 使用堆疊視圖設計UI
6.1 堆疊視圖是什麼?
6.2 範例App
6.3 建立新專案
6.4 加入圖片至Xcode專案
6.5 使用堆疊視圖佈局標題標籤
6.6 使用堆疊視圖佈局圖片
6.7 對堆疊視圖定義佈局約束條件
6.8 在圖片下方加入標籤
6.9 使用堆疊視圖佈局按鈕
6.10 使用尺寸類別調整堆疊視圖
6.11 保存向量資料
6.12 你的作業:建立佈局特規、加入標籤
6.13 本章小結
|CHAPTER 07| 原型設計
7.1 在紙上繪出你的App點子
7.2 繪出App線框圖
7.3 使你的草圖/線框圖可互動
7.4 常用的原型設計工具
7.5 本章小結
|CHAPTER 08| 建立簡單的表格式App
8.1 建立一個SimpleTable專案
8.2 設計使用者介面
8.3 執行App迅速測試
8.4 UITableView 與協定
8.5 陣列新手教學
8.6 連結DataSource與Delegate
8.7 測試你的表格式App
8.8 在表格視圖中加入縮圖
8.9 隱藏狀態列.
8.10 你的作業:各個儲存格顯示不同的圖片
8.11 本章小結
|CHAPTER 09| 使用原型儲存格、差異性資料來源與深色模式自訂表格視圖
9.1 使用UITableViewController 與UITableViewDiffableDataSource建立表格視圖App
9.2 顯示不同的縮圖
9.3 自訂表格視圖儲存格
9.4 在介面建構器中設計原型儲存格
9.5 為自訂儲存格建立類別
9.6 建立連結
9.7 更新儲存格提供者
9.8 圖片圓角化
9.9 使用深色模式測試App
9.10 你的作業:修復問題並重新設計自訂表格
9.11 本章小結
|CHAPTER 10| 使用UIAlertController顯示提示並處理表格視圖選取
10.1 建立更優雅的儲存格佈局
10.2 查閱文件
10.3 實作協定來管理列的選取
10.4 了解UIAlertController
10.5 對提示控制器加入動作
10.6 遇到錯誤
10.7 使用iPad執行App
10.8 在iPad上遇到另一個錯誤
10.9 你的作業:取消勾選與使用其他圖示
10.10 本章小結
|CHAPTER 11| 物件導向程式設計、組織專案與程式碼說明文件
11.1 物件導向程式設計的基礎理論
11.2 類別、物件及實例
11.3 結構
11.4 複習FoodPin專案
11.5 建立Restaurant結構
11.6 初始化器的說明
11.7 self關鍵字
11.8 預設初始化器
11.9 使用Restaurant物件的陣列
11.10 組織你的Xcode專案檔
11.11 以註解來記錄與組織Swift程式碼
11.12 本章小結
11.13 進階參考文獻
|CHAPTER 12| 表格列刪除、滑動動作、動態控制器與MVC
12.1 淺談模型-視圖-控制器
12.2 了解模型-視圖-控制器
12.3 在UITableView刪除列
12.4 啟用滑動刪除功能
12.5 使用快照從表格視圖刪除列資料
12.6 使用UIContextualAction滑動帶出其他動作
12.7 SF Symbols介紹
12.8 自訂UIContextualAction
12.9 在iPad上測試
12.10 你的作業:實作向右滑動
12.11 本章小結
|CHAPTER 13| 導覽控制器與Segue
13.1 故事板中的場景及Segue
13.2 建立導覽控制器
13.3 導覽列大標題
13.4 加入細節視圖控制器
13.5 建立細節視圖控制器的新類別
13.6 為自訂類別加入變數
13.7 使用Segue傳送資料
13.8 停用大標題
13.9 你的作業:加入更多的餐廳資訊
13.10 本章小結
|CHAPTER 14| 改善細節視圖、自訂字型與自適應儲存格
14.1 了解起始專案
14.2 使用自訂字型
14.3 設計表格視圖頭部
14.4 了解圖片視圖的縮放
14.5 修復問題
14.6 餐廳名稱被截掉
14.7 使用UIView調暗圖片
14.8 對動態型別使用自訂字型
14.9 設計原型儲存格
14.10 更新RestaurantDetailViewController類別
14.11 準備測試
14.12 自訂表格視圖分隔符號
14.13 了解自適應儲存格
14.14 本章小結
|CHAPTER 1