精通iOS開發(第8版) (Beginning IPhone Development with Swift 3:Exploring the IOS SDK,3E)
內容描述
本書是iOS應用開發基礎教程,內容翔實,語言生動。作者結合大量實例,使用Swift語言循序漸進地講解了適用於iPhone/iPad開發的基本流程。新版介紹強大的iOS 10操作系統,涵蓋Xcode 8的新功能,書中所有案例全部重新編寫。
目錄大綱
第1章歡迎來到iOS和Swift世界
1.1關於本書
1.2必備條件
1.2.1選擇開發者計劃
1.2.2必備知識
1.2.3iOS應用程序的特點
1.3本書內容
1.3.1新版增加內容
1.3. 2Swift和Xcode版本
1.3.3準備好了嗎
第2章創建第一個App
2.1創建“Hello,Worldf”項目
2.1.1Xcode項目窗口
2.1.2深入了解項目
2.2InterfaceBuilder簡介
2.2.1文件格式
2.2.2story board
2.2.3實用工具
2.2.4在視圖中添加標籤
2.2.5屬性修改
2.3畫龍點睛——美化iPhone應用程序
2.4啟動界面
2.5在設備上運行應用
2.6小結
第3章基本的用戶交互
3.1MVC模式
3.2創建Button Fun應用
3.3視圖控制器
3.3.1輸出接口和操作方法
3.3.2精簡視圖控制器代碼
3.3.3設計用戶界面
3.3.4測試Button Fun應用
3.3.5佈局預覽
3.3.6改變文本樣式
3.4應用程序委託
3.5小結
第4章更豐富的用戶界面
4.1動態控件、靜態控件和被動控件
4.2創建Control Fun應用程序
4.3實現圖像視圖和文本框
4.3.1添加圖像視圖
4.3.2調整圖像視圖的大小
4.3.3設置視圖屬性
4.3.4添加文本框
4.3.5添加約束
4.3.6創建並關聯輸出接口
4.4關閉鍵盤
4.4.1按下Done按鈕關閉鍵盤
4.4. 2觸摸背景關閉鍵盤
4.4.3添加滑動條和標籤
4.4.4創建並關聯操作方法和輸出接口
4.4.5實現操作方法
4.5實現開關、按鈕和分段控件
4.5.1添加兩個帶標籤的開關
4.5 .2為開關創建並關聯輸出接口和操作方法
4.5.3實現開關的操作方法
4.5.4控件狀態
4.5.5為按鈕創建井關聯輸出接口和操作方法
4.6實現分段控件的操作方法
4.7實現操作表單和警告視圖
4.7.1顯示操作表單
4.7.2顯示警告視圖
4.8小結
第5章自動旋轉
5.1自動旋轉機制
5.1.1點、像素和Retina顯示犀
5.1.2控制旋轉
5.2創建Orientations項目
5.2.1應用級支持的方向
5.2.2獨立控制器的旋轉支持
5.3創建佈局項目
5.3.1覆蓋默認的約束
5.3.2與屏幕等寬的標籤
5.4創建自適應佈局
5.4.1創建Restructure應用程序
5.4.2設置iPhone的橫向(wChC)配置佈局
5.4.3設置iPad(以及iPhone Plus橫向)的wRhR配置
5.5小結
第6章創建多視圖應用
6.1多視圖應用的常見類型
6.2多視圖應用的體系結構
6.2.1根控制囂
6.2.2內容視圖剖析
6.3構建View Switcher項目
6.3.1重命名視圖控制囂
6.3.2添加內容視圖控制器
6.3.3修改Switching View Controller.swifi
6.3.4創建擁有工具欄的視圖
6.3.5連接工具欄按鈕和視圖控制器
6.3.6鯿寫根視圖控制器
6.3.7實現內容視圖
6.3.8過渡動畫效果
6.4小結
第7章分頁欄與選取器
7.1Pickers應用程序
7.2委託和數據源
7.3創建Pickers應用程序
7.3.1創建視圖控制器
7.3.2創建分頁欄控制器
7.3.3首次模擬器測試
7.3.4實現日期選取器
7.4實現單滾輪選取器
7.4.1構建視圖
7.4.2將控制器實現為數據源和委託
7.5實現多滾輪選取器
7.5.1構建視圖
7.5.2實現控制器
7.5.3滾輪內容根據環境變化
7.6使用自定義選取器創建一個簡單遊戲
7.6.1編寫控制器頭文件
7.6.2構建視圖
7.6.3實現控制器
7.6.4最後的細節
7.7小結
第8章表視圖簡介
8.1表視圖基礎
8.1.1表視圖和表視圖單元
8.1.2分組表和連續表
8.2實現一個簡單表
8.2.1設計視圖
8.2.2實現控制器
8.2.3添加一個圖像
8.2.4表視圖單元樣式
8.2.5設置縮進級別
8.2.6處理行的選擇
8.2.7更改字體大小和行高
8.3定制表視圖單元
8.4實現自定義表視圖應用程序
8.4.1創建UITable View Cell子類
8.4.2從XIB文件加載UITable View Cell
8.5分組分區和索引分區
8.5.1構建視圖
8.5.2導八數據
8.5.3實現控制器
8.5.4添加索引
8.5.5添加搜索欄
8.5.6視圖調試器
8.6小結
第9章表視圖中的導航控制器
9.1導航控制器基礎
9.1.1棧的概念
9.1.2控制器棧
9.2簡單的字體瀏覽器:Fonts
9.2.1Fonts應用的子控制器
9.2.2Fonts應用的基礎框架
9.2.3創建根視圖控制器
9.2.4初始化storvboard
9.2.5第一個子控制器:字體列表視圖
9.2.6設計字體列表的storyboard
9.3創建字體尺寸視圖控制器
9.3.1設計字體尺寸視圖控制囂的storyboard
9.3.2對字體列表視圖控制器的轉場進行設置
9.3.3創建字體信息視圖控制囂
9.3.4設計字體信息視圖控制器的Storyboard
9.3.5調整字體列表視圖控制器的轉場
9.3.6我的收藏字體
9.3.7補充功能
9.3.8實現輕掃刪除
9.3.9實現拖動排序
9.4小結
第10章集合視圖
10.1創建DialogViewer項目
10.1.1配置自定義單元
10.1.2配置視圖控制器
10.1.3提供內容單元
10.1.4實現流動佈局
10.1.5實現標題視圖
10.2小結
第11章iPad應用中的分割視圖和浮動窗口
11.1創建基於UISplitViewController的分割視圖應用程序
11.1.1在storyboard中定義結構
11.1.2使用代碼定義功能
11.1.3Master—Detail模板應用程序的工作原理
11.1.4添加總統信息
11.1.5創建浮動窗口
11.2小結
第12章應用設置和用戶默認設置
12.1設置捆綁包入門
12.2BridgeControl應用程序
12.2.1創建項目
12.2.2使用設置捆綁包
12.2.3讀取應用中的設置
12.2.4在應用中修改默認設置
12.2.5註冊默認值
12.2.6保證設置有效
12.2.7切換到Settings應用程序
12.3小結
第13章數據持久化基礎知識
13.1應用程序的沙盒
13.1.1獲取Documents和Library目錄
13.1.2獲取臨時目錄
13.2文件保存方案
13.2.1單文件持久化
13.2.2多文件持久化
13.3屬性列表
13.3.1屬性列表序列化
13.3.2創建Persistence應用程序的第一個版本
13.4對模型對象進行歸檔
13.4.1遵循NSCoding協議
13.4.2實現NSCopying協議
13.4.3對數據對象進行歸檔和取消歸檔
13.4.4歸檔應用
13.4.5使用iOS嵌入的SOLice3
13.4.6創建或打開數據庫
13.4.7使用綁定變量
13.5創建SQLite3應用程序
13.6使用CorcData
13.6.1實體和託管對彖
13.6.2CoreData應用
13.6.3修改AppDelegate.swifi文件
13.7小結
第14章文檔和iCIoud
14.1使用UIDocument管理文檔存儲
14.1.1構建TinyPix
14.1 .2創建TinyPixDocument類
14.1.3主控制器代碼
14.1.4設置storyboard
14.1.5創建TinyPix視圖的類
14.1.6設計storyboard的詳情視圖
142添加iCloud支持
14.2.1創建配置描述文件
14.2.2如何查詢
14.2.3保存位置
14.2.4將偏好設置保存到iCloud
14.3小結
第15章用GrandCentralDispatch進行多線程編程
15.1創建SlowWorker應用程序
15.1.1線程基礎知識
15.1.2工作單元
15.1.3GCD:底層隊列
15.1.4改進SlowWorker
15.2後台處理
15.3應用生命週期
15.4狀態更改通知
15.4.1創建StateLab項目
15.4.2探索執行狀態
15.4.3利用執行狀態更改
15.4. 4處理不活躍狀態
15.4.5處理後台狀態
15.4.6進入後台時保存狀態
15.5小結
第16章圖形與繪製
16.1Quartz2D基礎概念
16.2Quartz2D繪圖方法
16.2.1Quartz2D圖形環境
16.2.2坐標系統
16.2.3指定顏色
16.2.4在環境中繪製圖像
16.2.5繪製形狀:多邊形、直線和曲線
16.2.6Quartz2D樣例圖案、漸變色、虛線圖
16.3QuartzFun應用程序
16.3.1構建QuartzFun應用程序
16.3.2添加Quartz2D繪製代碼
16.3.3優化QuartzFun應用程序
16.4小結
第17章SpriteKit製作簡單遊戲
17.1創建TextShooter應用
17.1.1自定義初始場景
17.1.2玩家移動
17.1.3創建敵人
17.1.4在場景中加入敵人
17.1.5開始射擊
17.1.6物理攻擊敵人
17.1.7完成關卡
17.1.8自定義碰撞
17.1.9粒子系統
17.1.10向場景中加入粒子
17.1. 11遊戲結束
17.1.12創建開始場景
17.1.13添加音效
17.1.14添加力場:為遊戲提高一些難度
17.2小結
第18章輕點、觸摸和手勢
18.1多點觸控術語
18.2響應者鏈
18.2.1響應事件
18.2.2轉發事件:保持響應者鏈的活動狀態
18.3多點觸控體系結構
18.4.4個手勢通知方法
18.5TouchExplorer應用
18.5.1創建Swipes應用程序
18.5.2使用觸摸事件檢測輕掃
18.5.3自動手勢識別
18.5.4實現多指輕掃
18.5.5檢測多次輕點
18.5.6檢測捏合和旋轉
18.6小結
第19章確定位置
19.1位置管理器
19.1.1設置期望精度
19.1.2設置距離篩選囂
19.1.3獲取使用定位服務的權限
19.1.4啟動位置管理器
19.1.5合理使用位置管理囂
19.2位置管理器委託
19.2.1獲取位置更新
19.2.2使用CLLocation獲取緯度和經度
19.2.3錯誤通知
19.3創建Where Aml應用程序
19.3.1更新位置管理器
19.3.2將移動路線展現在地圖上
19.3.3更改定位服務權限
19.4小結
第20章設備方向與動作
20.1加速計物理特性
20.2陀螺儀旋轉特性
20.3CoreMotion和動作管理器
20.3.1創建MotionMonitor應用程序
20.3.2主動動作訪問
20.3.3陀螺儀和方位結果
20.3.4加速計結果
20.4檢測搖動
20.4.1內嵌的搖動檢測
20.4.2搖動與破碎
20.5將加速計用作方向控制器
20.5.1Ball應用程序
20.5.2實現BallView類
20.5.3計算彈珠運動
20.6小結
第21章攝像頭和照片圖庫
21.1圖像選取器和UIImage Picker Controller
21.1.1圖像選取器控制器
21.1.2實現圖像選取囂控制器委託
21.2設計Camera界面
21.2.1隱私選項
21.2.2實現攝像頭視圖控制器
21.3小結
第22章本地化翻譯應用
22.1本地化體系結構
22.2字符串文件
22.2.1字符串文件的格式
22.2.2本地化的字符串函數
22.3創建LocalizeMe應用
22.3.1本地化項目
22.3.2本地化stowboard
22.3.3創建並本地化字符串文件
22.3.4應用顯示名稱的本地化
22.3.5添加其他本地化
22.4小結
22.5全書總結
附錄ASwift簡介
作者介紹
Molly Maskrey
iOS開發與配件設計公司Global Tek Labs聯合創始人,有豐富的iOS軟件和硬件開發經驗。
Kim Topley
蘋果公司高級軟件工程師,擁有30多年軟件開發經驗。
David Mark
經驗豐富的Mac技術開發專家,iOS/Android開發公司MartianCraft聯合創始人。
Fredrik Olsson
Cocoa/iPhone開發專家。
Jeff LaMarche
zi深Mac與iOS開發人員,擁有20多年開發經驗;MacTech雜誌和蘋果公司開發人員網站的專欄作家。Jeff關於iOS開發的博文廣受歡迎,其博客地址為www.iphonedevelopment.blogspot.com。