-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

iOS 8 Swift編程指南

( 簡體 字)
作者:楊宏焱類別:1. -> 程式設計 -> 手機程式 -> Swift
譯者:
出版社:電子工業出版社iOS 8 Swift編程指南 3dWoo書號: 41643
詢問書籍請說出此書號!

缺書
NT售價: 395

出版日:6/1/2015
頁數:492
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121260889
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

Swift 是蘋果公司最新的、類型安全的現代編程語言,可用于 Cocoa 和 Cocoa Touch 開發。Swift 在蘋果公司的 2014 年 WWDC 大會中首次亮相,至今已有近一年的歷史。迄今為止,App 商店中已經出現了相當數量的Swift 應用。
iOS 8 SDK隨Swift同步推出,但得到的關注卻遠遠小于后者。尤其是國內的開發者,對新SDK的研究和了解更是乏善可陳。實際上,iOS 8為開發者帶來的機遇,遠甚于蘋果的新晉開發語言Swift。
蘋果全新設計了iOS 8,為它添加了大量新特性,例如App擴展,Cloud Kit、Health Kit以及經過精心設計的游戲開發框架。可以說,從來沒有任何一個iOS的版本,能夠像iOS 8一樣,給我們帶來如此大的改變。每一個使用過iOS 8 SDK的開發者都能夠感受到它前所未有的強大。
讀者對象
本書主要適合以下讀者閱讀:
一是有 SDK 開發經驗,想將現有App遷移到iOS 8的開發者,但苦于沒有專門介紹 iOS 8 SDK 的書籍;
二是已經具備一定 Swift 語言基礎,但缺少進一步結合 SDK 進行Swift開發示例或沒有足夠代碼積累的讀者;
三是有一定 SDK 開發經驗,但還沒有學習過 Swift 語言,想快速學習 Swift 并立即進行工程實踐的讀者;
四是既想快速學習 Swift 又需要詳細了解 iOS 8 SDK的讀者。
內容概覽
全書共19章,分為兩部分。
從第1章到第4章為本書第一部分,這部分介紹 Swift 語言。
第1章介紹學習 Swift 之前需要了解的背景知識和學習過程中需要注意的“注意事項”,主要包括 Swift 的源起、對Objective-C開發者帶來的影響,以及初學者 FAQ。
第2章開始介紹 Swift 語言的基本語法,包括常量、變量、類型推斷、字符串、流程控制。有了這些基礎知識,我們起碼可以在接下來的章節里寫出一些“程序”。
第3章介紹 Swift 語言強大的類型系統,包括元組、可空類型、集合、枚舉、結構和類,其中有不少類型是前任的Objective-C語言所沒有的,這也是 Swift 最為獨特的地方。
第4章介紹函數、閉包、協議、擴展、泛型。這些內容并不是孤立的,它們互相之間有著非常緊密的聯系,充分反映了蘋果在Objective-C發展過程中對 FP(函數式編程)方面的缺失做出的反思和改變。
從第5章開始,為本書第二部分,開始陸續介紹 iOS 8 SDK 中的新特性。
第5章介紹 iOS 8 在 UI 方面的兩個主要內容:自動布局和自適應布局;尤其是后者“一次設計,所有設備運行”的特性。
第6章介紹Split View Controller 和旋屏。尤其是蘋果對前者的改變,是廣大 iOS 開發者期盼已久的事情。
第7章介紹 Presentation Controller。iOS 8 統一了以前版本中的視圖呈現方式,例如 Alert、Popover 和 Search Controller,使開發者可以完全控制 View Controller 的呈現及動畫過程。
第8章至第 13 章,依次介紹了 iOS 8 新增的 App 擴展,尤其對其中的幾個組件進行了詳細介紹:今日、分享、動作、照片編輯、文檔提供者、鍵盤。
第14章通過一個示例項目對 CloudKit 框架進行介紹。
第15章介紹 Photos 框架,包括對照片的編輯處理。
第16章以案例的形式介紹 HandOff 框架。
第17章介紹WebKit,尤其是蘋果的全新腳本引擎。
第18章介紹Live Rendering,并演示如何在自定義組件中使用Live Rendering技術。
第19章介紹Visual Effects。程序員從此可以使用官方API來生成一些有趣的視覺效果,例如模糊效果和霧玻璃效果。
特色分析
本書所面向的讀者市場尚是一片空白。目前市面上(國內)還沒有專門介紹 iOS 8 SDK 的圖書。
本書順應了市場潮流。本書借助蘋果發布新版本 SDK 及新開發語言 Swift 之機,從一個應用開發者的角度,對二者進行了深入介紹,使開發者在熟悉新框架的過程中同時了解 Swift 這門語言。
內容深入,案例豐富。本書第二部分介紹了 iOS 8 SDK 框架的新特性,而且基本上每個新特性都配有一個單獨的案例項目。
源代碼
本書使用的源代碼可在GitHub上下載:
https://github.com/kmyhy/BookSourceCode
內容簡介:

本書創新性地將語言和框架結合起來介紹。全書分為兩部分:第一部分是 Swift 語言介紹,共4章;第二部分則是iOS 8特性的介紹,從App開發者的角度闡述Swift語言在新SDK上的實際應用。本書在介紹iOS 8每個特性的過程中,配以豐富的Swift代碼案例,以此讓讀者在學習iOS 8的同時,積累大量的 Swift 編碼經驗。

目錄:

第一部分 Swift語言編程指南
第1章 Swift初見 2
1.1 什么是Swift 2
1.2 為什么要學習Swift 3
1.3 Objective-C程序員學習Swift需要特別關注的地方 3
1.3.1 類型推斷與類型安全 4
1.3.2 泛型 5
1.3.3 數組和字典 6
1.3.4 字符串 7
1.3.5 switch語句 8
1.4 關于Swift初學者的一些問題 9
1.4.1 從哪里獲得Swift 9
1.4.2 是否需要先學Objective-C,再學Swift 9
1.4.3 “老鳥”們學習Swift是否會更輕松 10
1.4.4 開發iOS 8和OS X Yosemite程序只能用Swift嗎 10
1.4.5 Swift是否能在當前的iOS和OS X版本上工作 10
1.4.6 什么是Playground 11
1.4.7 關于NDA 11
1.4.8 有Swift能做到而Objective-C無法做到的嗎?反過來說呢 11
1.4.9 某些API是否無法被Swift調用 11
1.4.10 在Playground中,如何以圖表方式查看變量值 12
1.4.11 如何打開REPL 13
1.4.12 Swift如何調用Objective-C代碼或第三方庫 14
1.4.13 Swift數組只能存儲同一種類型的數據嗎 15
1.4.14 字典是否也和數組一樣是強類型的 15
1.4.15 Swift中有類似于Objective-C中的id嗎 15
1.4.16 在 Swift中,如何自省 15
1.4.17 在Swift中如何使用GCD 16
1.4.18 Objective-C中提供的Internationalization宏是否仍然可用 16
1.4.19 仍然需要注意持有循環嗎 17
1.4.20 何時使用strong、weak以及unowned 17
第2章 Swift語法基礎 18
2.1 Playground 18
2.2 常量、變量、字符串 21
2.2.1 常量 21
2.2.2 變量 21
2.2.3 分號 22
2.2.4 字符串 22
2.2.5 字符串插值和運算 23
2.3 簡單類型和類型推斷 23
2.3.1 數值類型 23
2.3.2 類型轉換 25
2.3.3 布爾類型 26
2.3.4 區間 26
2.3.5 元組 27
2.4 流程控制 28
2.4.1 for循環 28
2.4.2 while語句 31
2.4.3 if語句 31
2.4.4 switch語句 33
第3章 結構和類 38
3.1 可空類型 38
3.1.1 認識可空 38
3.1.2 聲明可空 40
3.1.3 可空類型與非可空類型的轉換 42
3.2 集合 44
3.2.1 數組 45
3.2.2 字典 47
3.3 枚舉 50
3.3.1 定義枚舉時填充原始值 50
3.3.2 使用其他類型 51
3.3.3 不填充原始值 52
3.3.4 聯合 53
3.4 結構和類綜述 54
3.4.1 屬性 54
3.4.2 構造器 55
3.4.3 實例方法 56
3.4.4 類方法 56
3.4.5 下標方法 57
3.4.6 繼承 59
第4章 Swift函數式編程 61
4.1 函數 61
4.1.1 函數的定義 61
4.1.2 外部參數名 62
4.1.3 簡化外部參數名 62
4.1.4 默認值 63
4.1.5 可變參數 64
4.1.6 變量參數和輸出參數 64
4.1.7 用函數作為參數 65
4.1.8 函數作為返回值 66
4.1.9 嵌套函數 67
4.2 閉包 68
4.2.1 聲明閉包 69
4.2.2 匿名閉包 69
4.2.3 尾末閉包 70
4.2.4 值捕獲 70
4.3 協議 71
4.3.1 協議的聲明 71
4.3.2 實現協議 72
4.3.3 協議是一種類型 72
4.3.4 組合協議 73
4.4 擴展 74
4.4.1 聲明擴展 74
4.4.2 擴展和協議 75
4.5 泛型 75
4.5.1 泛型函數 76
4.5.2 泛型和協議 76
4.5.3 泛型約束 77
4.5.4 泛型類型 78
4.6 可空鏈 79
4.6.1 ?操作符 79
4.6.2 ??操作符 82
第二部分 iOS 8 SDK
第5章 故事板與自適應布局 86
5.1 自適應布局入門 86
5.1.1 自適應布局的4個概念 87
5.1.2 Universal故事板 87
5.1.3 Size類 96
5.1.4 自適應字體 100
5.1.5 設備相關圖片 101
5.2 自適應布局進階 102
5.2.1 自適應單元格 102
5.2.2 自動安裝視圖 108
5.2.3 UITraitCollection類 119
5.2.4 覆蓋Size類 121
5.2.5 Size相關圖片 125
5.2.6 顯示/隱藏導航欄 127
5.2.7 UIAppearance和Size類 128
第6章 UISplitViewController及旋屏 130
6.1 創建UISplitViewController應用 131
6.2 在iPhone App中使用UISplitViewController 140
6.2.1 創建Detail默認視圖 140
6.2.2 在iPhone中展開UISplitViewController 143
6.2.3 記住用戶選擇 151
6.2.4 單元格指示器 154
6.2.5 對iPad進行適應 159
6.3 旋屏 162
6.3.1 舊的旋屏方法被廢棄 162
6.3.2 自定義旋屏效果 165
6.3.3 單元格自適應大小 167
6.3.4 iPad旋屏 169
6.3.5 自適應的UILabel 176
第7章 視圖控制器的呈現 180
7.1 初始項目 181
7.2 內置的Presentation Controller 182
7.2.1 UIAlertController 183
7.2.2 UIPopoverPresentationController 186
7.2.3 UISearchController 191
7.3 自定義UIPresentationController 196
7.3.1 Presented控制器和Presenting控制器 196
7.3.2 創建基本的PresentationController 197
7.3.3 自定義轉換動畫 200
7.3.4 高級定制 206
第8章 今日擴展 215
8.1 App擴展介紹 215
8.1.1 App擴展的類型 216
8.1.2 理解App擴展 219
8.2 今日擴展綜述 223
8.2.1 介紹今日擴展 223
8.2.2 WeatherWidget示例 223
8.2.3 討論 240
第9章 分享擴展 242
9.1 案例項目:SinaWeiboShare 242
9.1.1 實現容器App 243
9.1.2 創建分享擴展 257
9.2 討論 267
9.2.1 配置SLComposeSheetConfigurationItem 268
9.2.2 分享其他文件 268
第10章 動作擴展 269
10.1 案例項目:SearchInICIBA 269
10.1.1 實現容器App 270
10.1.2 創建動作擴展 272
10.2 討論 280
第11章 照片編輯擴展 281
11.1 案例項目:PhotoVintage 281
11.1.1 實現容器App 282
11.1.2 實現照片編輯擴展 282
11.2 討論 292
第12章 文檔提供者擴展 294
12.1 準備 295
12.1.1 工作機制 295
12.1.2 文檔提供者擴展支持的4種操作 296
12.2 Bmob云服務 297
12.2.1 注冊Bmob 297
12.2.2 創建應用 297
12.2.3 獲取App Key 298
12.2.4 Bmob SDK 299
12.3 開始 299
12.3.1 添加擴展App 299
12.3.2 配置Info.plist和entitlements 300
12.4 加入Bmob SDK框架 301
12.4.1 添加CocoaPods框架 301
12.4.2 橋接頭文件 304
12.4.3 上傳圖片到Bmob 305
12.4.4 實現Document Picker 308
12.4.5 實現宿主App 314
12.4.6 實現File Provider 319
12.5 討論 322
第13章 鍵盤擴展 323
13.1 準備 323
13.2 鍵盤擴展的限制 323
13.3 值得信任 324
13.4 網絡訪問 325
13.5 開始 326
13.5.1 創建鍵盤擴展 326
13.5.2 顯示鍵盤 327
13.5.3 設計按鈕及布局 329
13.6 實現KeyboardViewController 331
13.6.1 創建連接 331
13.6.2 實現按鍵處理 332
13.6.3 大小寫轉換 334
13.6.4 切換符號集 335
13.6.5 按鍵動畫 336
13.6.6 鍵盤最終運行效果 336
13.7 討論 337
第14章 CloudKit 338
14.1 準備 339
14.1.1 用戶授權 339
14.1.2 iCloud容器 340
14.1.3 數據庫 340
14.1.4 Zone 340
14.1.5 記錄 341
14.1.6 訂閱 341
14.2 開始 342
14.2.1 打開iCloud 342
14.2.2 程序主界面 343
14.2.3 全局對象 344
14.2.4 獲取用戶ID及姓名 345
14.2.5 將數據封裝為CKRecord 350
14.2.6 上傳照片 353
14.2.7 查看已經上傳的圖片 359
14.3 高級API 361
14.3.1 不完全抓取 362
14.3.2 分頁抓取 363
14.3.3 抓取并緩存圖片 367
14.3.4 錯誤處理及網絡重試 371
14.3.5 CloudKit Dashboard 372
14.4 討論 373
第15章 Photos框架 375
15.1 Photos初步 375
15.1.1 模型對象 376
15.1.2 抓取概述 376
15.1.3 檢索內容 377
15.1.4 初始項目 377
15.1.5 獲取用戶授權 378
15.1.6 抓取 379
15.1.7 顯示圖片 384
15.1.8 緩存 387
15.1.9 標記用戶選擇 390
15.2 Photos進階 392
15.2.1 API介紹 393
15.2.2 初始項目 394
15.2.3 創建新的拼接圖 396
15.2.4 顯示拼接圖 400
15.2.5 收藏和刪除 403
15.2.6 增加修訂記錄 405
15.2.7 讀取修訂記錄 406
15.2.8 注冊變更通知 409
15.2.9 監聽變更通知 409
15.2.10 讓SpliceListVC處理變更通知 411
15.2.11 讓PhotoPicker處理變更通知 413
15.3 討論 414
第16章 Handoff 415
16.1 Handoff基礎 416
16.2 開始 416
16.2.1 Handoff兼容性 417
16.2.2 測試Handoff 418
16.2.3 初始項目 419
16.2.4 設置Team ID 420
16.2.5 添加活動類型 421
16.3 view活動 422
16.3.1 創建活動并開始廣播 422
16.3.2 更新用戶活動 423
16.3.3 停止廣播 423
16.4 edit活動 424
16.4.1 創建活動并開始廣播 424
16.4.2 更新用戶活動 425
16.4.3 停止廣播 425
16.5 恢復用戶活動 426
16.5.1 在應用程序委托中接收Handoff廣播 426
16.5.2 恢復view活動 428
16.5.3 恢復edit活動 429
16.6 討論 430
第17章 WebKit 432
17.1 開始 433
17.1.1 初始項目 433
17.1.2 創建WKWebView實例 433
17.1.3 加載Web頁 434
17.1.4 監視頁面加載進度 434
17.1.5 頁面導航 436
17.1.6 WKNavigationDelegate協議 436
17.2 WebKit進階 439
17.2.1 腳本調試工具 439
17.2.2 隱藏網頁內容 440
17.2.3 抓取頁面內容 444
17.2.4 顯示PopoverController 448
17.3 討論 450
第18章 Living Rendering 452
18.1 Living Rendering初步 453
18.1.1 開啟Living Redering特性 453
18.1.2 暴露@IBInspectable屬性 454
18.1.3 繪制boxLayer層 456
18.1.4 繪制markLayer層 457
18.1.5 繪制文本圖層 459
18.2 Living Rendering進階 461
18.2.1 使用位圖 461
18.2.2 響應事件 462
18.3 討論 463
第19章 Visual Effects 464
19.1 Visual Effects初步 464
19.1.1 初始項目 465
19.1.2 使用Visual Effect View實現模糊特效 465
19.1.3 使用Visual Effect View實現Vibrancy效果 467
19.2 Visual Effects進階 469
19.2.1 使用UIBlurEffect實現模糊效果 469
19.2.2 使用UIVibrancyEffect實現Vibrancy效果 471
19.3 討論 473
序: