內容簡介
本書通過應用程式例子的方式講解iOS開發。本書共9章,每章開始都先介紹該應用程式是做什麼的,並展示一些相應的截圖;然後簡單介紹使用到的技術及其架構;最後介紹如何創建應用程式的用戶界面和資源檔案,展示完整的原始碼,並逐一講解並分析它們。
zhua曲子白渡白顆
目錄信息
第1章介紹iOS 8應用程式開發和Swift
11簡介
12iPhone和iPad的銷售數據
13手勢
14感測器
15輔助功能
16iPhone 6和iPhone 6 Plus
17關於iOS作業系統的歷史和相關特性
171iPhone作業系統
173iPhone OS 3
174iOS 4
175iOS 5
176iOS 6
177iOS 7
18iOS 8
19Apple Watch
110套用商店
111Objective-C
112Swift:蘋果公司未來的程式語言
1121關鍵特性
1122性能
1123避免錯誤
1124Swift標準庫
1125Swift應用程式和Cocoa框架以及Cocoa Touch框架
1126Swift和Objective-C的相互調用
1127其他蘋果公司的Swift資源
113能夠只使用Swift嗎
1131Objective-C程式設計師利用Swift開發新App
1132Objective-C程式設計師使用Swift增強現有App功能
1133剛開始開發iOS應用程式的Java、C++和C#程式設計師
1134快速發展的願景
1135混合Swift和Objective-C代碼
114Cocoa Touch框架
115Xcode 6集成開發環境
Swift實戰之旅:精通iOS套用開發目錄 116面向對象編程回顧
1161把汽車當作一個對象
1162方法和類
1163實例化
1164重用
1165訊息和方法調用
1166特性和屬性
1167封裝和信息隱藏
1168繼承
1169協定
11610設計模式
117在iPhone和iPad模擬器上測試小費計算器(Tip Calculator)應用程式
118是什麼成就一個偉大的應用程式
119iOS安全
120iOS出版物和論壇
121小結
ⅩⅩ
第2章歡迎應用程式
21介紹
22技術概要
221Xcode和Interface Builder
222標籤和圖片視圖
223資源目錄和圖片集
224運行應用程式
225輔助功能
226國際化
23用Xcode創建一個通用應用程式
231運行Xcode
232工程和應用程式模板
233創建和配置一個工程
24Xcode的工作檯視窗
241導航區域
242編輯區域
243工具區域和查看器
244調試區域
245Xcode工具列
246工程導航欄
247鍵盤快捷鍵
25使用Storyboard創建歡迎應用程式的用戶界面
ⅩⅩⅠ
251給應用程式配置橫豎屏
252提供應用程式圖示
253為應用程式的圖片創建一個圖片集
254Storyboard概述和Xcode 的工具區域
255添加一個圖片視圖到用戶界面
256用查看器配置圖片視圖
257添加並配置標籤
258使用自動布局支持不同尺寸的螢幕和方向
26運行歡迎應用程式
261在iOS模擬器上測試
262在設備上測試 (只有付費蘋果公司開發者成員才可以)
27為應用程式添加輔助功能
271打開圖片視圖的輔助功能
272用模擬器的輔助功能查看器配置輔助功能文本
28國際化應用程式
281在翻譯過程中鎖定用戶界面
282導出用戶界面的字元串資源
283翻譯字元串資源
284導入和翻譯字元串資源
285用西班牙語測試應用程式
29小結
第3章小費計算器
31介紹
32技術概覽
321Swift語言
322Swift應用程式和Cocoa Touch框架
323在Swift中使用UIKit和Foundation框架
324用Interface Builder創建標籤、文本輸入框和滑動條
325視圖控制器
326在用戶界面控制項和Swift代碼之間建立連線
327視圖載入之後運行的任務
328用NSDecimalNumber 做財務計算
329根據特定地區的貨幣和比率來格式化數字
3210Swift和Objective-C類型之間的橋接
3212變數初始化和Swift可選值(Optional)類型
3213值類型和引用類型
3214代碼編輯器中的代碼補全提示
33創建應用程式的用戶界面
331創建工程
332通過配置Size Classes來設計一個豎屏iPhone應用程式
333添加UI控制項
334添加自動布局約束
34用Interface Builder創建Outlet
35用Interface Builder創建行為(Action)
36ViewController類
361import 聲明
362ViewController 類定義
363ViewController的@IBOutlet 屬性
364ViewController的其他屬性
365覆寫 UIViewController 的viewDidLoad方法
366ViewController 的calculateTip動作方法
367ViewControllerswift檔案中定義的全局工具函式
37小結
ⅩⅩⅡ
第4章Twitter搜尋應用程式
41介紹
42測試應用程式
43技術概述
431主-從應用程式模板
432網頁視圖——在應用程式中展示網頁內容
433Swift:數組和字典集合
434NSUserDefaults——為應用程式設定存儲本地鍵-值對
435使用NSUbiquitousKeyValueStore類在iCloud中存儲鍵-值對
436社交框架
437模型-視圖-視圖控制器(MVC)設計模式
438Swift:遵循協定
439Swift:暴露方法給Cocoa Touch庫
4310用於提醒對話框的UIAlertController類
4311長按手勢
4312這個應用程式中使用到的iOS設計模式
4313Swift:外部參數名
4314Swift:閉包
44創建應用程式的用戶界面
441創建工程
442檢查默認的主-從應用程式
443配置主視圖和詳情視圖
444創建模型類
45模型類
451ModelDelegate 協定
452模型類的屬性
453Model類的初始化和同步方法
454tagAtIndex、queryForTag、 queryForTagAtIndex方法和數量屬性
455deleteSearchAtIndex方法
456moveTagAtIndex方法
457updateUserDefaults方法
458updateSearches方法
459performUpdates方法
4510saveQuery方法
46MasterViewController類
461MasterViewController類的屬性和modelDataChanged方法
462awakeFromNib方法
463覆寫UIViewController類的viewDidLoad方法和addButtonPressed方法
464tableViewCellLongPressed和displayLongPressOptions方法
465displayAddEditSearchAlert方法
466shareSearch方法
467覆寫UIViewController類的prepareForSegue方法
468urlEncodeString方法
469UITableViewDataSource的回調方法
47DetailViewController類
471覆寫 UIViewController類的viewDidLoad方法
472覆寫 UIViewController 類的 viewDidAppear方法
473覆寫 UIViewController 類的viewWillDisappear方法
474UIWebViewDelegate協定方法
48小結
ⅩⅩⅢ
第5章國旗競猜應用程式
51介紹
52測試國旗競猜應用程式
53技術預覽
531從頭開始設計一個Storyboard
532UINavigationController類
533Storyboard連線(Segues)
534UISegmentedControl控制項
535UISwitch控制項
536Outlet集合
537使用應用程式的主NSBundle獲取圖片名稱列表
538使用Grand Central Dispatch 在未來執行任務
ⅩⅩⅣ
539給視圖添加一個動畫
5310Darwin模組——使用預先定義的C函式
5311生成隨機數
5312介紹Swift的一些特性
541創建工程
542設計Storyboard
543配置視圖控制器類
544為QuizViewController類創建用戶界面
545為 QuizViewController類的用戶界面設定自動布局
546QuizViewController的 Outlet屬性和相關的行為方法
547創建SettingsViewController的用戶界面
548SettingsViewController類的Outlet和行為方法
549創建Model類
5410添加國旗圖片到應用程式
55Model類
551ModelDelegate協定
552Model類的屬性
553Model類的初始化和 regionsChanged 方法
554Model類的計算屬性
555Model類的toggleRegion、setNumberOfGuesses和notifyDelegate方法
556Model類的 newQuizCountries方法
56QuizViewController類
561屬性
562覆寫UIViewController的viewDidLoad方法並介紹settingsChanged和resetQuiz方法
563nextQuestion和countryFromFilename方法
564submitGuess方法
565shakeFlag 方法
566displayQuizResults方法
567覆寫 UIViewController 類的prepareForSegue方法
568數組的擴展方法shuffle
57SettingsViewController類
571屬性
572覆寫 UIViewController 類的viewDidLoad方法
573事件處理和displayErrorDialog方法
574覆寫UIViewController的viewWillDisappear方法
58小結
第6章大炮遊戲應用程式
61介紹
62測試大炮遊戲應用程式
63技術預覽
631Xcode遊戲模板和 SpriteKit
ⅩⅩⅤ
632使用AVFoundation框架和AVAudioPlayer類給遊戲添加聲音
633SpriteKit框架類
634SpriteKit的遊戲循環和動畫幀
635物理
636衝突檢測和SKPhysicsContactDelegate協定
637CGGeometry結構體和相關函式
638覆寫UIResponder 的touchesBegan方法
639根據螢幕的大小確定遊戲元素的大小和速度
6310Swift語言的特性
6311NSLocalizedString函式
64創建工程和類
65GameViewController類
651覆寫UIViewController 的viewDidLoad方法
652為什麼AVAudioPlayer是全局變數
653刪除GameViewController類中自動生成的方法
66攔截器類
661BlockerSize 枚舉和攔截器類的屬性
662攔截器的初始化方法
663startMoving、playHitSound和blockerTimePenalty方法
67目標(Target)類
671TargetSize和TargetColor 枚舉類
672目標類的屬性
673目標類的初始化
674startMoving、playHitSound和targetTimeBonus方法
68大炮類
681大炮類的屬性
682大炮類的初始化
683rotateToPointAndFire方法
684fireCannonball和createCannonball方法
69遊戲場景類
691CollisionCategory結構體
692場景類的定義以及它的相關屬性
693覆寫SKScene類的didMoveToView方法
694createLabels方法
695SKPhysicsContactDelegate協定的didBeginContact和支持方法
696覆寫UIResponder的touchesBegan方法
697覆寫SKScene的update和 gameOver方法
610GameOverScene類
611可程式的國際化
ⅩⅩⅥ
612小結
第7章塗鴉應用程式
71介紹
72測試塗鴉應用程式
73技術總覽
731用UIView的子類,drawRect方法、UIBezierPath類和 UIKit圖形系統來進行繪圖
732處理多點觸摸事件
733監聽移動事件
734將繪製作為一個圖片進行顯示
735Storyboard載入初始化
74創建應用程式的用戶界面和添加自定義類
741創建工程
742創建初始化視圖控制器的用戶界面
743創建顏色視圖控制器的用戶界面
744創建畫筆視圖控制器的用戶界面
745添加塗鴉類
75ViewController類
751ViewController類的定義、屬性和委託方法
752覆寫UIViewController類的prepareForSeque方法
753ViewController 類的undoButtonPressed、clearButtonPressed和displayEraseDialog方法
754覆寫UIResponder 的motionEnded方法
755ViewController類的actionButtonPressed方法
76Squiggle 類
77DoodleView類
771DoodleView的屬性
772DoodleView的初始化方法
773DoodleView類的undo和clear方法
774覆寫UIView 的drawRect方法
775覆寫UIResponder類的處理觸摸事件的方法
776DoodleView的圖片計算屬性
78ColorViewController類
781ColorViewControllerDelegate協定和 ColorViewController類的開始部分
782覆寫UIViewController 類的viewDidLoad方法
783ColorViewController 的colorChanged和done方法
79StrokeViewController類
791UIView 的SampleLineView子類
792StrokeViewControllerDelegate協定和StrokeViewController類的開始部分
793覆寫UIViewController類的viewDidLoad方法
794StrokeViewController類的lineWidthChanged和done方法
710小結
第8章地址簿應用程式
81介紹
82測試地址簿應用程式
83技術預覽
831添加 Core Data支持
832數據模型和 Xcode的數據模型編輯器
833Core Data框架的類和協定
834UITableViewController 的單元格樣式
835包含靜態單元格的UITableViewController
836監聽表示鍵盤顯示和隱藏的通知
837通過編程的方式來滑動一個UITableView
838UITextFieldDelegate協定的相關方法
84創建工程並配置數據模型
841創建工程
842編輯數據模型
843生成NSManagedObject的子類聯繫人類
85創建用戶界面
ⅩⅩⅦ
851自定義MasterViewController類
852自定義DetailViewController類
853添加AddEditViewController類
854添加InstructionsViewController類
86MasterViewController類
861MasterViewController類、屬性和awakeFromNib方法
862覆寫UIViewController 類的viewWillAppear方法和displayFirstContactOrInstruction
方法
863覆寫UIViewController 類的viewDidLoad方法
864覆寫UIViewController類的prepareForSegue方法
865AddEditTableViewControllerDelegate協定的didSaveContact方法
866DetailViewControllerDelegate協定的didEditContact方法
867displayError方法
868UITableViewDelegate協定的相關方法
869自動生成的NSFetchedResultsController對象和NSFetchedResultsControllerDelegate
協定的相關方法
87DetailViewController類
871DetailViewControllerDelegate協定
872DetailViewController類的屬性
873覆寫UIViewController類的viewDidLoad和displayContact方法
874AddEditTableViewControllerDelegate協定的didSaveContact方法
875覆寫UIViewController類的prepareForSegue方法
88AddEditTableViewController類
881AddEditTableViewControllerDelegate協定
882AddEditTableViewController類的屬性
883覆寫UIViewController類的viewWillAppear和viewWillDisappear方法
884覆寫UIViewController類的viewDidLoad方法
885keyboardWillShow和keyboardWillHide方法
886UITextFieldDelegate協定的textFieldShouldReturn方法
887返回值為@IBAction的saveButtonPressed方法
89AppDelegate類
891UIApplicationDelegate協定的application:didFinishLaunchingWithOptions:方法
892UISplitViewControllerDelegate協定的相關方法
893支持應用程式的Core Data功能的一些屬性和方法
810小結
第9章套用商店和套用業務問題
91介紹
92iOS開發者計畫:為了測試和提交應用程式,設定用戶的開發者賬號
921設定你的開發者團隊
922為測試應用程式配置一個設備
924創建明確的應用程式ID
93iOS人機界面指南
94通過iTunes Connect提交應用程式
95給應用程式定價:收費還是免費
951付費的應用程式
952免費的應用程式
96應用程式如何賺錢
961使用套用內購買來銷售虛擬商品
962套用內廣告服務iAd
963App Bundles
964為企業開發定製應用程式
98iTunes Connect需要的一些信息
99iTunes Connect開發者指南:提交應用程式到蘋果公司的步驟
910推廣應用程式
912跨平台的應用程式開發工具
913小結