预购商品
书目分类
特别推荐
本書站在開發者的視角,以iOS10+Xcode8和Objective-C+Swift3雙語言代碼示例,完整地介紹了iOS應用程序從開發到上架的全過程,包含iOS應用開發的各種熱點技術和編者多年的開發經驗分享。全書共11章,包括:開發環境搭建、界面開發、傳感器技術、布局與動畫技術、網絡和數據技術、打包與上傳發布流程等,基本上每一章都配備了實戰范例,使讀者可以在編寫代碼中學習編程,在應用開發中提高開發技能。本書技術先進,注重實戰,示例豐富,適合iOS開發新手使用,也很適合作為iOS培訓機構的教材或大專院校軟件開發課程的教學參考書。張益琿(網名:琿少),工學學士,軟件開發工程師,多年iOS開發經驗,曾開發iOS平台系列游戲:瘋狂越獄1~2、應用物通配貨軟件、VIP Exam考試庫、證券財經軟件等,現就職於中國唯品會,出版著作《iOS開發實戰:從零基礎到App Store上架》(清華大學出版社,2016年出版)。
第1章 開發准備 11.1 iOS 10新特性簡述 21.1.1 新增觸覺反饋編程接口 21.1.2 SiriKit框架的開放 41.1.3 引入Messages App 51.1.4 通知框架的整合與擴展 61.2 熟悉iOS開發環境 61.2.1 安裝Xcode開發工具 61.2.2 了解Xcode開發工具主界面 81.2.3 Xcode開發工具的使用技巧及常用快捷鍵 91.3 創建第一個iOS項目 101.4 使用Git進行項目版本管理 131.4.1 Git與Github簡介 131.4.2 注冊GitHub會員 131.4.3 使用Xcode創建Git倉庫 151.4.4 用Xcode建立本地Git倉庫與GitHub代碼托管平台的關聯 16第2章 基礎UI控件 182.1 iOS系統UI框架的介紹 192.1.1 MVC設計模式 192.1.2 代理設計模式 202.2 視圖控制器——UIViewController 202.2.1 UIViewController的生命周期 202.2.2 UIViewController的視圖層級結構 272.3 文本控件——UILabel 272.3.1 使用UILabel在屏幕上創建一個標簽控件 272.3.2 自定義標簽控件的相關屬性 282.3.3 多行顯示的UILabel與換行模式 302.4 按鈕控件——UIButton 322.4.1 創建一個按鈕改變屏幕顏色 322.4.2 更加多彩的UIButton控件 352.5 文本輸入框控件——UITextField 372.5.1 在屏幕上創建一個輸入框 372.5.2 UITextField的常用屬性介紹 392.5.3 UITextField的代理方法 402.5.4 實現一個監聽輸入信息的用戶名輸入框 412.6 開關控件——UISwitch 432.6.1 創建一個開關控件 432.6.2 為UISiwtch控件添加觸發方法 442.7 分頁控制器——UIPageControl 452.8 分段控制器——UISegmentedControl 462.8.1 UISegmentedControl基本屬性的應用 462.8.2 對UISegmentedControl中的按鈕進行增、刪、改操作 482.8.3 UISegmentedControl中按鈕寬度的自適應 482.9 滑塊控件——UISlider 492.9.1 UISlider的創建與常規設置 492.9.2 對UISlider添加圖片修飾 512.10 活動指示器控件——UIActivityIndicatorView 512.11 進度條控件——UIProgressView 532.12 步進控制器——UIStepper 532.12.1 步進控制器的基本屬性使用 542.12.2 自定義UIStepper按鈕圖片 552.13 選擇器控件——UIPickerView 562.13.1 創建一個UIPickerView控件 562.13.2 UIPickerView選中數據時的回調代理 582.14 通過CALayer對視圖進行修飾 592.14.1 創建圓角的控件 592.14.2 創建帶邊框的控件 602.14.3 為控件添加陰影效果 602.15 警告控制器——UIAlertController 612.15.1 UIAlertController的警告框 612.15.2 UIAlertController之活動列表 642.16 擴展篇 652.16.1 搜索欄控件——UISearchBar 652.16.2 日期時間選擇器——UIDatePicker 692.16.3 警告視圖——UIAlertView 712.16.4 活動列表——UIActionSheet 722.17 實戰:登錄注冊界面的搭建 73第3章 高級UI控件 803.1 導航控制器——UINavigationController 813.1.1 導航控制器的工作原理 813.1.2 使用導航控制器進行多界面搭建 823.1.3 導航欄UINavigationBar 853.1.4 導航按鈕UIBarButtonItem 873.1.5 導航控制器的工具欄 903.1.6 iOS 8之后導航控制器的一些有趣功能 913.2 標簽控制器——UITabBarController 923.2.1 標簽控制器的工作原理 923.2.2 標簽控制器的基礎用法解析 923.2.3 關於UITabBarItem的使用 943.3 滾動視圖——UIScrollView 963.3.1 使用UIScrollView展示視圖內容 963.3.2 UIScrollView的代理方法 983.4 網絡視圖——UIWebView 1013.4.1 App網絡傳輸安全策略 1013.4.2 通過網絡請求加載UIWebView 1023.4.3 通過HTML字符串加載UIWebView 1033.4.4 通過NSData數據加載UIWebView 1043.4.5 UIWebView中常用方法解析 1043.4.6 UIWebView的代理方法 1063.5 表格視圖——UITableView 1073.5.1 UITableView的創建與復用機制 1073.5.2 創建一個表格視圖UITableView 1083.5.3 關於表格數據的載體UITableViewCell 1113.5.4 設置UITableView的行高和頭尾視圖 1133.5.5 UITableView的用戶交互行為 1153.5.6 為UITableView添加索引欄 1183.6 復雜布局視圖——UICollectionView 1193.6.1 UICollectionView控件的優勢與布局方式 1193.6.2 使用UICollectionView進行九宮格式的布局 1193.6.3 創建更加靈活的流式布局 1223.6.4 自定義UICollectionViewFlowLayout進行參差瀑布流布局 1233.6.5 使用UICollectionView進行圓環布局 1283.7 實戰:開發一款手機網頁瀏覽器 1333.7.1 網頁瀏覽器工程的搭建 1333.7.2 核心網頁視圖的設計 1353.7.3 歷史記錄界面的設計 1473.7.4 收藏界面的設計 1513.7.5 啟動頁面、圖標及應用名稱的相關優化 154第4章 網絡編程 1574.1 使用NSURLConnection請求網絡數據 1584.1.1 申請一個免費的API服務 1584.1.2 使用NSURLConnection進行API服務數據的獲取 1614.1.3 使用NSURLConnection進行異步網絡請求 1624.1.4 使用NSURLConnection類通過代理回調的方式異步進行網絡請求 1644.2 設計封裝一個更加易用的網絡請求類 1654.2.1 設計自定義的網絡請求連接類 1664.2.2 設計自定義的網絡請求管理類 1674.3 JSON類型數據的解析與數據模型的設計 1714.3.1 JSON數據簡介 1714.3.2 在iOS中解析JSON數據 1734.3.3 數據模型Model類的設計 1754.4 使用CocoaPods進行第三方庫的管理 1804.4.1 在MAC上安裝CocoaPods 1804.4.2 用CocoaPods搭建一個使用第三方網絡請求框架AFNetworking的工程 1824.5 使用AFNetworking進行網絡請求 1844.5.1 詳解HTTP/HTTPS協議 1844.5.2 使用AFNetworking進行網絡請求 1854.6 實戰:開發「笑一笑」應用程序 1884.6.1 工程項目框架的搭建 1884.6.2 「笑一笑」界面數據載體cell的設計 1904.6.3 「笑一笑」界面的搭建 1934.6.4 實現下拉刷新與加載更多功能 2004.6.5 「趣圖吧」界面數據載體cell的設計 2034.6.6 「趣圖吧」界面的設計 207第5章 音頻、視頻開發 2165.1 iOS音頻開發基礎——AVAudioPlayer類的使用 2175.1.1 使用AVAudioPlayer進行MP3音頻文件的播放 2175.1.2 進行音頻播放相關屬性的控制 2185.1.3 后台播放音頻及用戶交互的優化 2255.2 iOS視頻開發基礎 2295.2.1 使用MPMoviePlayerController向應用中嵌入視頻模塊 2305.2.2 MPMoviePlayerController常用屬性與方法解析 2315.3 視頻播放器視圖控制器——MPMoviePlayerViewController 2365.4 AVPlayerViewController視頻播放框架與畫中畫開發技術 2385.4.1 使用AVPlayerViewController 進行視頻播放 2385.4.2 iPad的畫中畫播放技術 2415.5 實戰:「歌手王菲」音頻播放器的開發 2445.5.1 工程搭建與LRC歌詞文件簡介 2445.5.2 LRC歌詞解析引擎的設計 2455.5.3 核心播放器引擎的設計 2535.5.4 歌曲列表與歌詞顯示視圖界面的設計 2655.5.5 播放器主頁面的實現 2745.5.6 后台播放音頻用戶交互的處理 285第6章 動畫開發 2886.1 使用UIImageView播放圖片組幀動畫 2896.2 UIView層動畫的應用 2906.2.1 執行UIView層過渡動畫的3個類方法 2906.2.2 創建UIView層的阻尼動畫 2936.2.3 動畫參數配置與組合動畫 2936.2.4 UIView層過渡動畫支持的屬性 2976.3 使用commit方式進行UIView層動畫的創建 2986.3.1 使用commit方式進行UIView層過渡動畫的創建 2986.3.2 兩種UIView層動畫創建方式的優劣 3006.4 UIView的轉場動畫 3006.4.1 重繪UIView視圖時使用的轉場動畫 3006.4.2 切換UIView視圖時使用的轉場動畫 3026.5 核心動畫編程技術——CoreAnimation 3036.5.1 錨點對視圖控件幾何位置的影響 3036.5.2 色彩梯度層——CAGradientLayer 3046.5.3 視圖拷貝層——CAReplicatorLayer 3056.5.4 圖形渲染層——CAShapeLayer 3076.5.5 文本繪制層——CATextLayer 3096.5.6 CAAnimation動畫體系介紹 3106.5.7 使用CABasicAnimation創建基礎動畫 3126.5.8 使用CAKeyframeAnimation類創建關鍵幀動畫 3166.5.9 CALayer層的轉場動畫——CATransition 3176.5.10 CALayer層的組合動畫——CAAnimationGroup 3206.5.11 CATransform3D變換的應用 3216.6 炫酷的粒子效果 3246.6.1 粒子發射器——CAEmitterLayer 3246.6.2 粒子單元——CAEmitterCell 3276.6.3 創建粒子火焰動畫 3306.7 播放GIF動態圖 3326.7.1 使用UIWebView進行GIF動態圖播放 3326.7.2 使用UIImageView幀動畫進行GIF動態圖播放 3346.8 實戰:小游戲Flappy Bird的設計與開發 3366.8.1 小鳥對象的設計 3366.8.2 游戲開始界面的設計 3416.8.3 游戲結束界面的設計 3446.8.4 Flappy Bird游戲主框架的搭建 347第7章 傳感器開發 3607.1 為應用程序添加手機密碼及指紋識別的安全驗證 3617.1.1 使用手機密碼為應用程序添加安全驗證 3617.1.2 使用用戶指紋為應用程序添加安全驗證 3637.2 使用加速度傳感器、螺旋儀傳感器與磁力傳感器獲取設備空間狀態 3647.2.1 使用UIAccelerometer獲取設備空間狀態 3647.2.2 使用CoreMotion框架獲取設備空間狀態信息 3657.3 距離傳感器的應用 3717.4 iOS藍牙開發技術 3737.4.1 中心設備管理類CBCentralManager 3747.4.2 外圍設備管理類CBPeripheralManager 3827.5 GPS應用與地圖編程技術 3887.5.1 進行設備地理位置定位 3887.5.2 原生地圖開發技術 3927.5.3 在地圖中添加大頭針及標注 3957.5.4 在地圖視圖中添加覆蓋物 3987.5.5 在地圖中進行線路導航與附近興趣點檢索 4027.6 實戰:簡易藍牙對戰五子棋 4107.6.1 游戲核心通信類的設計 4107.6.2 棋盤瓦片的設計 4277.6.3 核心游戲視圖與游戲核心邏輯的設計 4307.6.4 核心游戲視圖控制器的設計 448第8章 界面布局 4548.1 iOS中傳統的UIViewAutoresizing布局模式 4558.1.1 通過代碼設置視圖控件的UIViewAutoresizing模式 4558.1.2 在xib文件中可視化地配置控件的autoresizing屬性 4578.2 autolayout自動布局框架 4598.2.1 初識autolayout 4598.2.2 autolayout的屬性意義與一個簡單的自動布局示例 4618.2.3 使用Objective-C風格的方法進行代碼autolayout布局 4648.2.4 使用格式化的字符串進行autolayout布局對象的創建 4678.2.5 與約束相關的幾個方法 4708.2.6 使用autolayout設計一個高度自適應的聊天輸入框和動畫優化 4708.2.7 使用第三方庫Masonry進行autolayout的約束布局 474第9章 數據持久化 4829.1 使用plist文件進行輕量級數據持久化管理 4839.1.1 在工程中讀取plist文件數據 4839.1.2 在程序沙盒Doucments目錄中創建和使用plist文件 4859.1.3 使用NSUserDefaults類進行數據持久化 4869.2 使用歸檔技術進行數據模型持久化 4899.2.1 進行單一系統數據類型的歸檔與解歸檔操作 4899.2.2 對多個對象進行數據歸檔 4919.2.3 進行自定義數據模型的歸檔 4929.3 小型數據庫SQLite在iOS開發中的應用 4959.3.1 SQLite數據庫常用語法介紹 4959.3.2 使用iOS原生框架sqlite3對SQLite數據庫進行操作 4979.4 核心數據管理框架CoreData的使用 5019.4.1 使用CoreData設計數據模型 5029.4.2 CoreData編程框架中3個重要的類 5049.4.3 CoreData編程框架的數據操作 5109.4.4 使用CoreData進行數據與頁面的綁定 5169.5 網絡緩存策略 5249.5.1 為網絡請求設置緩存策略 5249.5.2 應用緩存管理類NSURLCache簡介 525第10章 提交應用程序到AppStore 52710.1 使用Xcode開發工具進行程序調試 52810.1.1 使用自定義斷點進行代碼調試 52810.1.2 添加全局異常斷點 52910.1.3 使用LLDB調試器進行程序調試 53010.2 Apple開發者賬號的申請 53110.2.1 幾種類型的開發者賬號 53110.2.2 申請開發者賬號的過程 53110.3 進行應用程序的打包 53410.3.1 在iTunes Connect中進行應用的創建與配置 53410.3.2 使用Xcode打包與提交iTunes 541第11章 更多功能與進階技巧 54511.1 Objective-C中block語法的應用 54611.1.1 聲明與實現block語法塊 54611.1.2 block代碼塊中訪問對象的微妙關系 54711.2 iOS通知中心NSNotificationCenter的應用 54811.2.1 通知類NSNotification簡介 54911.2.2 通知中心NSNotificationCenter的應用 54911.3 多線程開發技術 55011.3.1 使用NSThread進行線程管理 55011.3.2 使用NSOperation類與NSOperationQueue類進行多任務管理 55211.3.3 iOS中GCD編程技術簡介 556
买了这本书的人也买...
最近浏览商品
客服公告
热门活动
订阅电子报