TOP
0
0
【簡體曬書節】 單本79折,5本7折,優惠只到5/31,點擊此處看更多!
深入淺出Objective-C(修訂版)(簡體書)
滿額折

深入淺出Objective-C(修訂版)(簡體書)

商品資訊

人民幣定價:89.00 元
定價
:NT$ 534 元
優惠價
87465
領券後再享88折起
海外經銷商無庫存,到貨日平均30天至45天
可得紅利積點:13 點
相關商品
商品簡介
作者簡介
目次

商品簡介

本書圍繞著蘋果平臺的軟體發展語言Objective-C展開,由開始到發展,由基礎到原理,由領會到技巧,由新手到大師,由淺入深層層講解。作為國內罕見的原創Objective-C教程,本書披露了鮮為人知的技術要點和內幕,甚至還包括IOS平臺的技術細節。編者以一個中國蘋果開發者的角度,為有經驗的同行學習提高提供參考,為懵懂的新手開闢一條康莊大道,甚至為想學Objective-C卻無從下手的朋友揭秘了一個開發捷徑。

作者簡介

錢成

超級蘋果通,資深MacOS和iOS開發者,從2007年至今一直專注於Apple技術平臺的軟體發展工作,算是國內最早一批接觸這些技術新玩意兒,以及有幸目睹整個Apple公司崛起歷程的人之一。


曾做過教育中心的講師,做過公司的技術導師,深知如何以學員學習的角度去闡述教學內容。

如今就職於著名跨國電腦軟體公司,致力於Apple平臺的佈道、架構和集成,以及跨平臺解決方案的實施。

工作之餘,他是一位自豪的父親,也是超級球迷,小說迷。

目次

第一篇 蘋果開發初窺門徑

第1章 邀請函——來自Objective-C

1.1 概述 2

1.2 蘋果開發簡介 2

1.3 Objective-C的個人簡歷 4

1.4 本書的扼要提綱 5

1.5 成為偉大的蘋果開發者 6


第2章 搭建開發環境——讓我們穿戴整齊去參加熱鬧的派對吧

2.1 IDE的準備 7

2.1.1 Xcode不同版本的下載 8

2.1.2 Xcode不同版本的共存 10

2.2 IDE的熟悉 11

2.2.1 Xcode的代碼撰寫介面 12

2.2.2 Xcode的介面檔 14

2.2.3 工程管理的注意事項 15

2.2.4 Xcode的使用注意事項 16

2.3 本章小結 19


第二篇 扎實功底略有所成


第3章 創建應用程式——自家的孩子自家疼

3.1 iOS應用程式的創建 22

3.2 iOS工程結構分析 24

3.3 MacOSX應用程式的創建和程式啟動 27

3.4 本章小結 28


第4章 開始開發——和Objective-C交個朋友

4.1 語法——打鐵勢必從姿勢學起 29

4.2 消息 31

4.3 類的創建 32

4.4 繼承和重寫(override) 37

4.5 分類(Category) 41

4.6 協定(Protocols)和代理(Delegation) 42

4.7 本章小結 45


第5章 列印日誌——維持秩序的攝像頭

5.1 簡單使用示例 46

5.2 進階使用示例 48

5.2.1 使NSLog的列印結果更詳細 48

5.2.2 NSLog原理詳解 49

5.3 日誌描述 50

5.4 本章小結 52


第6章 基本資料類型,運算式和語句——鍋碗瓢盆一個都不少

6.1 概述 53

6.2 基本資料類型 53

6.3 命名規則 54

6.3.1 命名錯誤 55

6.3.2 命名規範 55

6.3.3 命名空間 56

6.4 運算式 56

6.5 語句 60

6.5.1 if/else 60

6.5.2 switch 61

6.5.3 for迴圈 63

6.5.4 for迴圈的in語法 64

6.5.5 while迴圈 65

6.5.6 跳出當前回合迴圈 66

6.6 本章小結 70


第7章 記憶體管理——打理矯情程式的超級拖把

7.1 記憶體管理機制——出色程式的重要資本 71

7.1.1 記憶體的創建和釋放 71

7.1.2 自動釋放池和使用 73

7.1.3 實例方法和類方法 74

7.1.4 保留(retain)物件 74

7.1.5 複製(copy)對象 75

7.1.6 淺拷貝和深拷貝 76

7.1.7 自動保留(retain) 78

7.1.8 其他創建和釋放物件的方式 78

7.2 單例模式 79

7.3 取值方法(getter)和賦值方法(setter) 81

7.3.1 取值方法和賦值方法 82

7.3.2 屬性關鍵字 83

7.3.3 synthesize和dynamic的區別 85

7.4 自動拖把ARC 86

7.4.1 ARC的使用方法 86

7.4.2 ARC新增關鍵字 87

7.4.3 ARC機制的使用規則 89

7.4.4 ARC機制的注意事項 90

7.4.5 遷移程式到ARC的做法 91

7.5 本章小結 92


第8章 Foundation Kit——巧婦可為有米之炊

8.1 字串(NSString) 93

8.1.1 簡單的字串使用 93

8.1.2 可變字串使用 96

8.1.3 字串的路徑相關使用 97

8.2 陣列(NSArray)和集合(NSSet) 98

8.2.1 陣列和集合的簡單使用 98

8.2.2 可變陣列和可變集合的使用 101

8.3 字典(NSDictionary) 104

8.3.1 簡單的字典使用方法 105

8.3.2 可變字典 107

8.4 數據(NSData) 107

8.5 數字(NSNumber) 108

8.5.1 NSNumber的使用 108

8.5.2 簡單的數學運算 109

8.5.3 數位格式 109

8.6 配置檔 111

8.7 本章小結 112


第9章 KVC機制——讓生活過得更好

9.1 KVC的使用和舉例 113

9.1.1 KVC機制 113

9.1.2 KVC的取值 114

9.1.3 KVC的存值 117

9.1.4 KVC協議的實現 118

9.1.5 一對多關係適用的運算符 120

9.2 KVO的使用和舉例 121

9.3 綁定的使用和示例 127

9.3.1 綁定的簡單使用 127

9.3.2 綁定的高級使用 130

9.4 本章小結 136


第10章 錯誤處理——知錯能改善莫大焉

10.1 概述 137

10.2 Objective-C的錯誤處理機制 137

10.3 友善的抓蟲好友——NSError 138

10.4 鐵血無情的判官——NSException 141

10.5 黑白兩道通吃——Signal 144

10.6 本章小節 145


第11章 block——大塊頭有大智慧

11.1 概述 146

11.2 block的基本使用示例 146

11.2.1 簡單的block 146

11.2.2 將block作為參數的API 147

11.2.3 block的聲明 148

11.2.4 block的typedef 149

11.2.5 block的值返回 149

11.3 block的外部變數使用 150

11.3.1 block體的外部變數使用的奇怪之處 150

11.3.2 克服外部變數的魔咒 151

11.4 block的記憶體管理 152

11.5 本章小結 153


第三篇 拓展能力融會貫通


第12章 視圖——展現外形美的窗口

12.1 MVC模式及示例 156

12.2 UIViewController(視圖控制器) 160

12.2.1 UIViewController和它的主視圖 161

12.2.2 主視圖的管理函數 162

12.2.3 UIViewController對於旋轉的支持 162

12.2.4 多層UIViewController 163

12.3 導航視圖控制器(UINavigationController) 164

12.3.1 棧 164

12.3.2 自身的層次 165

12.3.3 導航控制器的使用示例:導航精通大師(一) 166

12.3.4 導航控制器的使用示例——導航欄左中右位置的配置 170

12.3.5 導航控制器的使用示例——導航欄 右位置的多按鈕 173

12.3.6 導航控制器的使用示例——工具欄內容修改和全屏顯示 176

12.3.7 導航控制器的使用示例——動畫過渡和超大視圖 180

12.4 標籤頁視圖控制器 184

12.4.1 標籤頁控制器的創建 186

12.4.2 標籤頁控制器的More標籤項目 187

12.4.3 標籤頁上的標記 189

12.4.4 標籤頁欄上的警告框 190

12.4.5 隱藏標籤欄 191

12.5 彈出視圖控制器(PopoverViewController) 192

12.5.1 使用示例 192

12.5.2 自定義式樣 193

12.6 分隔視圖控制器(UISplitViewController) 194

12.7 本章小結 196


第13章 控制項——溝通心靈美的橋樑

13.1 控制項使用的注意事項 197

13.2 標籤(UILabel) 198

13.3 文本視圖(UITextView) 200

13.3.1 不可編輯的文本視圖控制項 200

13.3.2 自定義選中文本後的彈出選項 202

13.3.3 可編輯的文本視圖控制項 203

13.3.4 收起鍵盤 204

13.4 文本域(UITextField) 206

13.4.1 特有的特性 206

13.4.2 可拉伸圖片 207

13.4.3 避免被鍵盤擋住 209

13.5 進度視圖(UIProgressView) 213

13.6 滑動條(UISlider) 214

13.7 分隔欄控制項(UISegmentControl) 215

13.8 按鈕(UIButton) 217

13.8.1 按鈕的基本使用 217

13.8.2 應對怪哢需求 218

13.9 本章小結 219


第14章 滾動視圖——表達內涵美的手段

14.1 滾動視圖(UIScrollView) 220

14.2 表視圖(UITableView) 222

14.2.1 表視圖的工作流程 223

14.2.2 表視圖的示例(1):皇家馬德里隊球員名單 224

14.2.3 表視圖的示例(2):名單的分段顯示 227

14.2.4 表視圖的示例(3):名單的索引顯示 230

14.2.5 表視圖的示例(4):系統樣式的表視圖單元 234

14.2.6 表視圖的示例(5):自定義表視圖的單元 237

14.2.7 表視圖的示例(6):組式樣的表視圖 240

14.2.8 表視圖的示例(7):表視圖的編輯功能(刪除) 240

14.2.9 表視圖的示例(8):表視圖的編輯功能(新增) 244

14.2.10 表視圖的示例(9):表視圖的編輯功能(排序) 245

14.2.11 表視圖的示例(10):表視圖的編輯功能(多選) 249

14.3 取值控制項(UIPicker) 254

14.3.1 取值控制項示例(1):球員角色菜單 254

14.3.2 取值控制項示例(2):自定義UIPicker的選項外觀 257

14.4 本章小結 260


第15章 警告框——強勢地鬧彆扭

15.1 概述 261

15.2 iOS警告框的示例和使用 262

15.2.1 普通的警告框使用 262

15.2.2 無按鈕警告框 264

15.2.3 當場取得返回值的警告框 265

15.2.4 顯示文本輸入框的警告框 267

15.2.5 顯示加密文本輸入框的警告框 270

15.2.6 顯示登錄框的警告框 271

15.2.7 多參數格式的警告框 273

15.2.8 客官請點菜,Sheet是您的功能表 274

15.3 MacOSX警告框的示例和使用 279

15.3.1 警告框的快捷實現 279

15.3.2 警告框的創建 280

15.3.3 警告框的sheet方式顯示 282

15.3.4 警告框的擴展資訊 284

15.3.5 警告框的可選欄控制項 285

15.3.6 Carbon下的警告框顯示 285

15.3.7 溫文爾雅地提醒 286

15.4 本章小結 288


第16章 視圖展示——畫上美麗妝容盡情舞動吧

16.1 橫豎屏和自動佈局機制 290

16.1.1 簡單的硬代碼橫豎屏示例 291

16.1.2 autoresize橫豎屏示例 302

16.1.3 autolayout橫豎屏示例(1)—何謂自動佈局 305

16.1.4 autolayout橫豎屏示例(2)—自動佈局機制的實現 308

16.1.5 autolayout橫豎屏示例(3)—衝突處理和設備適配 314

16.1.6 autolayout的代碼使用 316

16.2 Quartz——我們手上的神筆 316

16.2.1 繪畫示例:隨意畫 316

16.2.2 圖形示例:各種圖形畫法 322

16.2.3 漸變示例 326

16.3 用動畫來提升用戶體驗 327

16.3.1 UIView的基本動畫效果 327

16.3.2 UIView的轉場動畫效果 330

16.3.3 CAAnimation的轉場動畫效果 333

16.3.4 CAAnimation的私有動畫效果 335

16.3.5 CAAnimation的視圖自身2D動畫——彈簧跳 339

16.3.6 CAAnimation的視圖自身2D動畫——撒腿就跑 340

16.3.7 CAAnimation的視圖自身2D動畫——閃爍 342

16.3.8 CAAnimation的視圖自身3D動畫——翻開書籍封面 343

16.4 本章小結 347


第四篇 修得絕技爐火純青


第17章 網路請求——互聯網用戶端的武功寶典

17.1 概述 350

17.2 NSURL網路編程 350

17.2.1 同步下載 351

17.2.2 非同步下載 353

17.2.3 堵塞下載 357

17.3 HTTP請求 359

17.3.1 PUT網路請求 360

17.3.2 POST簡單網路請求 361

17.3.3 POST進階網路請求 362

17.3.4 SOAP網路請求 366

17.4 XML解析 368

17.5 JSON解析 371

17.6 CFNetwork網路編程 373

17.6.1 和純C的socket網路開發區別 374

17.6.2 簡單的HTTP請求 374

17.6.3 非同步HTTP請求 376

17.6.4 驗證HTTP請求 378

17.7 本章小結 381


第18章 資料庫——化繁為簡,唯快不破

18.1 概述 382

18.2 CoreData的模型建立 383

18.3 CoreData的鋼鐵三兄弟 386

18.4 CoreData資料模型的屬性類型支援 389

18.5 CoreData的數據導入 390

18.6 CoreData持久性資料庫的內容分析 396

18.7 CoreData的數據讀取 398

18.8 CoreData和表視圖的完美配合 400

18.9 表視圖集成CoreData的新增和刪除功能 406

18.10 表視圖集成CoreData的更新功能 411

18.11 本章小結 415


第19章 多線程編程——淩波微步,可戰可退

19.1 性能為王——線程概述 416

19.2 基本線程使用——NSThread 417

19.3 基本線程使用——pthread 420

19.4 基本線程使用——GCD 421

19.4.1 默認佇列的使用 422

19.4.2 組佇列的使用 423

19.4.3 GCD和函數指標配合使用 424

19.5 線程安全 424

19.5.1 NSLock的使用 425

19.5.2 synchronized的使用 426

19.5.3 condition的使用 427

19.6 進階並行開發——NSOperation 429

19.6.1 蘋果提供給開發者執行併發任務方法 429

19.6.2 NSOperation的並行開發的兩種做法 429

19.6.3 NSOperation的練手之作(一):RSS的讀取 430

19.6.4 NSOperation的練手之作(二):RSS數據解析 434

19.6.5 NSOperation的練手之作(三):和介面的協調 437

19.6.6 NSOperation的練手之作(四):批量小圖的下載 441

19.6.7 NSOperation的練手之作(五):預覽圖的並行下載 443

19.7 消息迴圈(NSRunLoop) 451

19.8 本章小結 453


第20章 鑰匙串——防火、防盜、防駭客

20.1 概述 454

20.2 何時使用鑰匙串 454

20.3 iOS中的鑰匙串使用 456

20.3.1 新增和刪除鑰匙串項目 458

20.3.2 查找和更新鑰匙串項目 460

20.3.3 鑰匙串的Group概念 462

20.4 MacOSX中的鑰匙串使用 464

20.4.1 新增和刪除鑰匙串項目 464

20.4.2 查找和更新鑰匙串項目 467

20.5 加密的簡單示例 470

20.6 本章小結 472


第21章 通知——彈指神通,指哪動哪

21.1 通知和代理的區別 473

21.2 本地通知的使用 474

21.2.1 通知接收環境的建立 474

21.2.2 通知的簡單發送 475

21.2.3 通知的非同步發送 477

21.3 跨進程通知發送 481

21.4 本章小結 482


第22章 手勢——觸摸改變了世界

22.1 事件回應鏈 483

22.1.1 事件的生命週期 483

22.1.2 事件回應鏈 484

22.2 觸摸事件的接收示例 485

22.3 手勢回應示例——多種手勢識別器 488

22.3.1 程式框架的搭建 488

22.3.2 Tap點擊手勢的識別 490

22.3.3 依樣畫葫蘆地完成多種手勢識別器 493

22.4 手勢之間的優先順序 498

22.5 本章小結 499


第23章 推送——應用也有生命

23.1 推送簡介 500

23.2 推送證書的準備步驟 503

23.3 推送的內容 508

23.4 遠端推送的使用方法 509

23.5 本地推送的使用方法 511

23.6 推送的注意事項和常見錯誤解決方案 512

23.7 本章小結 514


第24章 程式間通信——應用組實現的最佳方案

24.1 打破沙盒的限制 515

24.2 自定義URL Scheme 516

24.2.1 調用系統應用程式 516

24.2.2 自定義URL Scheme 517

24.2.3 OpenIn:讓其他應用程式打開檔 519

24.2.4 自定義程式候選面板的按鈕 526

24.3 本章小結 529


第五篇 內外兼修大師風範


第25章 iOS開發相關現代化新特性——最先進的用戶體驗

25.1 概述 531

25.2 雲和消息中心 532

25.2.1 書報亭(Newsstand) 532

25.2.2 iCloud 533

25.2.3 消息中心 538

25.2.4 輸入法 539

25.3 Passbook 539

25.3.1 Passbook的概念 539

25.3.2 Passbook的開發思路 540

25.4 本章小結 545

 

第26章 開發調試技巧——最強力的集成環境

26.1 自定義代碼段 547

26.2 靜態分析 550

26.3 記憶體洩漏檢測 551

26.4 單元測試:提交測試前,把關品質的最後一道鎖 553

26.4.1 邏輯代碼的單元測試示例 554

26.4.2 UI上的單元測試示例 557

26.5 本章小結 560


第27章 視網膜屏——最爽快的視覺享受

27.1 概述 561

27.2 視網膜屏的相容解決方案 561

27.2.1 程式中的資源 561

27.2.2 啟動圖片 564

27.2.3 圖示 565

27.3 本章小結 566


第28章 本地化——最貼心的國際化

28.1 本地化的解決方案 567

28.1.1 使用Xcode的本地化功能的開發舉例 569

28.1.2 資源檔案本地化的開發舉例 572

28.1.3 本地化映射表的開發舉例 573

28.1.4 本地化的原理和相關知識 576

28.1.5 本地化格式的開發舉例 579

28.1.6 本地化應用程式名字 580

28.2 本章小結 581


第29章 程式通用設定——最適合的功能劃分

29.1 通用設定的使用範圍 582

29.1.1 兩種解決方案的使用場景各有特點 583

29.1.2 評價者的意圖 583

29.2 通用設定的示例 584

29.2.1 系統設置的本地化開發舉例 587

29.2.2 系統設置的配置舉例:文本輸入框 588

29.2.3 系統設置的配置舉例:滑塊 590

29.2.4 系統設置的配置舉例:左標題右內容 590

29.2.5 系統設置的配置舉例:多選項 592

29.2.6 系統設置的配置舉例:子設置視圖 593

29.3 通用設定的同步 594

29.4 本章小結 596


第30章 輔助功能——最周全的系統設想

30.1 輔助功能簡介 597

30.2 輔助功能示例——Interface Builder中的VoiceOver 599

30.3 輔助功能示例——代碼中的VoiceOver 602

30.3.1 使用xib設置輔助功能示例 602

30.3.2 重寫輔助功能的示例 604

30.4 本章小結 607


第六篇 獨步天下不可不知


第31章 蘋果終極開發技巧——不傳秘笈重現天日

31.1 創建iPhone和iPad的通用應用程式 609

31.2 真機調試 611

31.3 DMG製作 616

31.3.1 簡單DMG文件製作 616

31.3.2 高級DMG文件製作 617

31.4 區分作業系統版本環境 619

31.5 本章小結 620

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 465
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區