瘋狂iOS 講義(上) Objective-C 2.0與iPhone/iPad應用開發基礎
瘋狂iOS 講義(上) Objective-C 2.0與iPhone/iPad應用開發基礎(國內首部iOS 7相關著作,小夥伴們,學好iPhone/iPad應用開發,我們一起做土豪吧)
李剛 編
ISBN978-7-121-19107-7
2014年1月出版
定價:99.00元
684頁
16開
編輯推薦
內容最詳盡的iOS 7平臺iPhone/iPad應用開發指引
獲獎無數的瘋狂講義系列最新作品
密集的程式碼註釋,幫你讀懂程式碼、領悟真諦
內有“瘋狂連連看”等案例的完整實現
內容提要
本書以最新的 iOS 7.0、Xcode 5 為平臺,全面介紹 iOS 應用開發的基礎知識。全書從 Objective-C 基本語法開始,詳細介紹了 Objective-C 的基本語法結構、Objective-C 的物件導向特徵、Foundation 框架的核心類庫用法、檔案 I/O 體系等知識,掌握 Objective-C 語言是 iOS 引用開發的基礎。之後,本書將帶領讀者掌握 iOS 應用開發的基本理論以及 iOS 應用的 MVC 設計和事件處理程式設計,重點介紹 iOS 介面程式設計、iOS 應用的生命週期、Quartz 2D 繪圖、座標變換、Core Image 濾鏡、Core Animation 動畫等內容。最後介紹了一個《瘋狂連連看》遊戲例項。
本書並不侷限於介紹 iOS 程式設計的各種理論知識,而是從“專案驅動”的角度來講授理論,全書一共包括近百個例項,這些示範性的例項既可幫讀者更好地理解各知識點在實際開發中的應用,也可供讀者在實際開發時作為參考,拿來就用。
本書為所有打算深入掌握 iOS 程式設計的讀者而編寫,適合各層次的 iOS 學習者和開發者閱讀,也適合作為大學教育、培訓機構的 iOS 教材。但如果只是想簡單涉獵 iOS 應用開發,則本書過於龐大,不適合閱讀。
目錄
第1章 iOS應用與開發環境 1
1.1 Objective-C與iOS簡介 2
1.1.1 Objective-C簡介 2
1.1.2 iOS簡介 3
1.2 搭建iOS開發環境 3
1.2.1 下載並安裝Xcode和SDK 4
1.2.2 安裝輔助工具和文件 6
1.3 第一個Objective-C程式 6
1.3.1 使用文字編輯器開發Objective-C程式 7
1.3.2 使用Xcode工具開發Objective-C程式 9
1.4 熟悉Xcode 10
1.4.1 建立iOS專案 11
1.4.2 熟悉導航皮膚 12
1.4.3 熟悉檢查器皮膚 14
1.4.4 熟悉庫皮膚 15
1.4.5 使用Xcode的幫助系統 17
1.5 小結 20
第2章 資料型別和運算子 21
2.1 註釋 22
2.2 識別符號和變數 23
2.2.1 分隔符 23
2.2.2 識別符號規則 25
2.2.3 Objective-C關鍵字 25
2.3 資料型別分類 25
2.4 基本資料型別 26
2.4.1 整型 26
2.4.2 NSLog輸出函式及格式字元 27
2.4.3 字元型 29
2.4.4 浮點型 30
2.4.5 列舉型 31
2.4.6 BOOL型別 32
2.5 型別轉換 34
2.5.1 自動型別轉換 34
2.5.2 強制型別轉化 36
2.5.3 表示式型別的自動提升 36
2.6 運算子 37
2.6.1 算術運算子 37
2.6.2 賦值運算子 39
2.6.3 位運算子 40
2.6.4 擴充套件後的賦值運算子 42
2.6.5 比較運算子 42
2.6.6 邏輯運算子 43
2.6.7 逗號運算子 43
2.6.8 三目運算子 44
2.6.9 運算子的結合性和優先順序 45
2.7 小結 46
第3章 流程控制與陣列 47
3.1 順序結構 48
3.2 分支結構 48
3.2.1 if條件語句 48
3.2.2 switch分支語句 52
3.3 迴圈結構 54
3.3.1 while迴圈語句 54
3.3.2 do while迴圈語句 56
3.3.3 for迴圈 56
3.3.4 巢狀迴圈 59
3.4 控制迴圈結構 60
3.4.1 使用break結束迴圈 61
3.4.2 使用continue結束本次迴圈 61
3.4.3 使用return結束函式 62
3.5 goto語句 62
3.6 陣列 64
3.6.1 定義陣列 64
3.6.2 陣列的初始化 65
3.6.3 使用陣列 66
3.6.4 多維陣列 67
3.6.5 多維陣列的初始化 68
3.6.6 字元陣列、字串與結束標誌 73
3.6.7 輸出字串和字串函式 74
3.6.8 陣列的應用舉例 76
3.7 小結 78
第4章 C語言特性 79
4.1 函式 80
4.1.1 定義函式 80
4.1.2 函式宣告 83
4.1.3 函式的引數傳遞機制 84
4.1.4 遞迴函式 88
4.1.5 陣列作為函式引數 89
4.1.6 內部函式與外部函式 93
4.2 區域性變數與全域性變數 94
4.2.1 區域性變數 95
4.2.2 全域性變數 96
4.2.3 外部全域性變數與內部全域性變數 97
4.2.4 動態儲存與靜態儲存 99
4.3 預處理 101
4.3.1 使用#define、#undef執行宏定義 101
4.3.2 帶引數的宏定義 103
4.3.3 使用#ifdef、#ifndef、#else、#endif執行條件編譯 104
4.3.4 使用#if、#elif、#else、#endif執行條件編譯 106
4.3.5 #include與#import 107
4.4 指標 108
4.4.1 指標的概念 108
4.4.2 指標變數及其基本用法 109
4.4.3 指標變數作為函式引數 111
4.5 指標與陣列 113
4.5.1 指向陣列的指標變數 113
4.5.2 指標運算 114
4.5.3 陣列變數作為函式引數 116
4.5.4 指向多維陣列的指標變數 118
4.6 字串與指標 121
4.6.1 使用字元指標表示字串 121
4.6.2 字元指標作為函式引數 122
4.7 函式與指標 123
4.7.1 用函式指標變數呼叫函式 123
4.7.2 用函式指標變數作為函式引數 124
4.7.3 返回指標的函式 126
4.8 指標陣列和指向指標的指標 127
4.8.1 指標陣列與main()函式形參 127
4.8.2 指向指標變數的指標 130
4.9 結構體 130
4.9.1 定義結構體 131
4.9.2 typedef語句 133
4.9.3 初始化結構體變數 134
4.9.4 結構體陣列 135
4.10 塊 136
4.10.1 塊的基本語法 136
4.10.2 塊與區域性變數 137
4.10.3 直接使用塊作為引數 139
4.10.4 使用typedef定義塊變數型別 139
4.11 小結 140
第5章 物件導向(上) 141
5.1 類和物件 142
5.1.1 定義類 142
5.1.2 物件的產生和使用 146
5.1.3 物件和指標 148
5.1.4 self關鍵字 150
5.1.5 id型別 153
5.2 方法詳解 154
5.2.1 方法的所屬性 154
5.2.2 形參個數可變的方法 155
5.3 成員變數 156
5.3.1 成員變數及其執行機制 156
5.3.2 模擬類變數 158
5.3.3 單例(Singleton)模式 159
5.4 隱藏和封裝 160
5.4.1 理解封裝 161
5.4.2 使用訪問控制符 161
5.4.3 理解@package訪問控制符 165
5.4.4 合成存取方法 166
5.4.5 使用點語法訪問屬性 171
5.5 鍵值編碼(KVC)與鍵值監聽(KVO)172
5.5.1 簡單的KVC 172
5.5.2 處理不存在的key 175
5.5.3 處理nil值 176
5.5.4 Key路徑 178
5.5.5 鍵值監聽(KVO) 179
5.6 物件初始化 182
5.6.1 為物件分配空間 182
5.6.2 初始化方法與物件初始化 183
5.6.3 便利的初始化方法 185
5.7 類的繼承 187
5.7.1 繼承的特點 187
5.7.2 重寫父類的方法 189
5.7.3 super關鍵字 190
5.8 多型 193
5.8.1 多型性 193
5.8.2 指標變數的強制型別轉換 196
5.8.3 判斷指標變數的實際型別 197
5.9 小結 198
第6章 物件導向(下) 199
6.1 Objective-C的包裝類 200
6.1.1 它們不是包裝類 200
6.1.2 NSValue和NSNumber 201
6.2 處理物件 202
6.2.1 列印物件和description方法 202
6.2.2 ==和isEqual方法 205
6.3 類別與擴充套件 209
6.3.1 類別(category) 210
6.3.2 利用類別對類進行模組化設計 212
6.3.3 使用類別來呼叫私有方法 212
6.3.4 擴充套件(extension) 214
6.4 協議(protocol)與委託 216
6.4.1 規範、協議與介面 216
6.4.2 使用類別實現非正式協議 217
6.4.3 正式協議的定義 218
6.4.4 遵守(實現)協議 219
6.4.5 協議與委託(delegate) 222
6.5 使用@try處理異常 225
6.5.1 使用@try...@catch...@finally捕捉異常 226
6.5.2 訪問異常資訊 228
6.5.3 使用@finally回收資源 229
6.5.4 丟擲異常與自定義異常類 230
6.6 Objective-C反射機制 232
6.6.1 獲得Class 232
6.6.2 檢查繼承關係 233
6.6.3 動態呼叫方法 235
6.7 手動記憶體管理 237
6.7.1 物件的引用計數 239
6.7.2 物件所屬權 241
6.7.3 方法中的保留和釋放 243
6.7.4 使用自動釋放池 245
6.7.5 自動釋放池的銷燬時機與工作過程 246
6.7.6 臨時物件與事件迴圈中的自動釋放池 248
6.7.7 手動記憶體管理的規則總結 249
6.8 自動引用計數 250
6.8.1 自動引用計數概述 250
6.8.2 @autoreleasepool塊 251
6.9 小結 251
第7章 Foundation框架詳解 252
7.1 字串(NSString與NSMutableString) 253
7.1.1 建立字串 253
7.1.2 NSString的常用功能 254
7.1.3 可變字串(NSMutableString) 255
7.2 日期與時間 256
7.2.1 日期與時間(NSDate) 256
7.2.2 日期格式器(NSDateFormatter) 258
7.2.3 日曆(NSCalendar)與日期元件(NSDateComponents) 260
7.2.4 定時器(NSTimer) 261
7.3 物件複製 263
7.3.1 copy與mutableCopy方法 263
7.3.2 NSCopying與NSMutableCopy協議 264
7.3.3 淺複製與深複製 266
7.3.4 setter方法的複製選項 268
7.4 Objective-C集合概述 269
7.5 陣列(NSArray與NSMutableArray) 270
7.5.1 NSArray的功能與用法 270
7.5.2 對集合元素整體呼叫方法 275
7.5.3 對NSArray進行排序 276
7.5.4 使用列舉器遍歷NSArray集合元素 278
7.5.5 快速列舉(for…in) 279
7.5.6 可變陣列(NSMutableArray) 279
7.5.7 NSArray的KVC與KVO 281
7.6 集合(NSSet與NSMutableSet) 282
7.6.1 NSSet的功能與用法 282
7.6.2 NSSet判斷集合元素重複的標準 285
7.6.3 NSMutableSet的功能與用法 288
7.6.4 NSCountedSet的功能與用法 289
7.7 有序集合(NSOrderedSet與NSMutableOrderedSet) 290
7.8 字典(NSDictionary與NSMutableDictionary) 291
7.8.1 NSDictionary的功能與用法 292
7.8.2 對NSDictionary的key排序 295
7.8.3 對NSDictionary的key進行過濾 297
7.8.4 使用自定義類作為NSDictionary的key 298
7.8.5 NSMutableDictionary的功能與用法 299
7.9 謂詞 301
7.9.1 定義謂詞 301
7.9.2 使用謂詞過濾集合 302
7.9.3 在謂詞中使用佔位符引數 303
7.9.4 謂詞表示式語法 305
7.9 小結 307
第8章 檔案I/O 308
8.1 使用NSData與NSMutableData 309
8.2 使用NSFileManager管理檔案和
8.2.1 訪問檔案屬性和內容 311
8.2.2 建立、刪除、移動、複製 312
8.2.3 檢視目錄包含的內容 313
8.3 使用NSPathUtilities.h管理路徑 314
8.4 使用ProcessInfo獲取程式資訊 316
8.5 使用NSFileHandle處理檔案IO 317
8.6 使用NSURL讀取網路資源 319
8.7 使用NSBundle處理專案相關資源 320
8.8 物件歸檔 322
8.8.1 使用NSKeyedArchiver歸檔 322
8.8.2 實現NSCoding協議 323
8.8.3 使用NSData完成自定義歸檔 326
8.8.4 使用歸檔實現深複製 329
8.9 小結 330
第9章 iOS應用開發入門 331
9.1 從iOS專案開始 332
9.1.1 iOS專案包含的檔案 332
9.1.2 Interface Builder簡介 333
9.1.3 向nib檔案新增控制元件 336
9.1.4 修改控制元件屬性 338
9.1.5 UIView支援的屬性 339
9.1.6 UILabel支援的屬性 340
9.2 MVC 342
9.2.1 從程式入口開始 342
9.2.2 應用程式委託 343
9.2.3 理解iOS的MVC 346
9.2.4 掌握UIViewController控制器 347
9.3 事件機制 349
9.3.1 程式獲取控制元件的兩種方式 349
9.3.2 事件處理的方式 353
9.4 Storyboard的改進之處 358
9.5 程式碼控制UI介面 360
9.5.1 不使用介面佈局檔案開發UI介面 360
例項:無介面佈局檔案開發iOS應用 360
9.5.2 使用程式碼建立UI介面 362
例項:動態新增、刪除標籤 362
9.4.3 自定義UI控制元件 364
例項:跟隨手指運動的小球 365
9.6 美化iOS應用 367
9.5.1 定製iOS應用圖示 367
9.5.2 設定iOS應用的啟動畫面 367
9.6 小結 369
第10章 iOS應用的介面程式設計 370
10.1 UI控制元件概述 371
10.1.1 活動、靜態和被動控制元件 371
10.1.2 UIControl基類介紹 372
10.2 按鈕(UIButton) 373
例項:豐富多彩的按鈕 376
10.3 文字框(UITextField) 377
例項:使用者登入介面 379
10.3.1 完成輸入後關閉鍵盤 380
10.3.2 觸碰背景關閉鍵盤 381
10.4 多行文字控制元件(UITextView) 382
10.4.1 UIScrollView支援的屬性 383
10.4.2 使用委託物件處理UITextView事件 385
例項:導航按鈕關閉虛擬鍵盤 385
例項:自定義鍵盤附件關閉虛擬鍵盤 387
10.4.3 自定義選擇內容後的選單 389
10.5 開關按鈕(UISwitch) 390
例項:使用開關控制“手電筒” 390
10.6 分段控制元件(UISegmentedControl) 391
例項1:透過分段控制元件控制背景顏色 393
例項2:動態增加、刪除分段 394
10.7 影像控制元件(UIImageView) 395
例項1:圖片瀏覽器 396
例項2:“幻燈片”播放器 398
10.8 進度條 399
10.8.1 UIProgressView 399
例項:定製進度條 400
10.8.2 UIActivityIndicatorView 401
10.9 拖動條(UISlider) 403
例項:透過拖動滑塊改變圖片透明度 404
10.10 警告框(UIAlertView)與UIActionSheet 405
10.10.1 UIAlertView的基本用法 405
10.10.2 帶輸入框的UIAlertView 407
10.10.3 使用UIActionSheet 409
10.11 日期選擇器(UIDatePicker) 411
例項:倒數計時器 413
10.12 選擇器(UIPickerView) 415
10.12.1 單列選擇器 416
10.12.2 多列選擇器 417
10.12.3 相互依賴的多列選擇器 419
10.12.4 自定義選擇器檢視 421
例項:“老虎機”遊戲 421
10.13 微調器(UIStepper) 426
10.14 網頁控制元件(UIWebView) 428
例項:迷你瀏覽器 430
10.15 工具條(UIToolbar) 431
例項:自定義工具條控制元件 433
10.16 表格(UITableView)與表格控制器 (UITableViewController) 435
10.16.1 簡單表格 437
10.16.2 處理單元格的選中 440
例項:編輯選中行 441
10.16.3 定製表格行 446
例項1:繼承UITableViewCell定製表格行 446
例項2:使用動態單元格原型定製表格行 449
例項3:利用xib檔案定製表格行 451
10.16.4 編輯表格 454
10.16.5 多分割槽表格以及分割槽索引 459
10.16.6 直接使用 UITableViewController 461
10.16.7 靜態單元格 464
10.16.8 使用iOS 6新增的UIRefresh Controller重新整理表格 465
10.17 搜尋條(UISearchBar) 467
10.17.1 使用搜尋條 468
10.17.2 使用UISearchDisplayController 471
例項:下拉選單顯示搜尋結果 471
10.18 導航條(UINavigationBar)與導航 條控制器(UINavigationController) 475
10.18.1 使用導航條 475
10.18.2 使用UINavigationController 477
例項:檢視、編輯圖書資訊 479
10.18.3 使用segue控制過渡 484
10.18.4 使用segue控制導航 487
10.19 網格(UICollectionView)與網格控制器(UICollectionViewController) 490
10.19.1 UICollectionView的功能與用法 492
10.19.2 使用UICollectionViewDelegate FlowLayout定製佈局 497
例項:單元格大小不同的網格 497
10.19.3 擴充套件UICollectionViewLayout定製佈局 498
例項:環形佈局的UICollectionView 499
10.19.4 多分割槽網格 502
例項:帶頁首、頁尾的多分割槽網格 502
10.19.5 直接使用UICollectionViewController 505
10.20 標籤條(UITabBar)與標籤頁控制器(UITabBarController) 509
10.20.1 使用UITabBar 509
10.20.2 使用UITabBarController 511
10.20.3 在Storyboard中使用UITabBarController 514
10.21 頁控制元件(UIPageControl)與頁控制器(UIPageViewController) 515
10.21.1 UIPageControl與UIScrollView結合使用 515
10.21.2 使用UIPageViewController 519
10.22 iPad應用開發 523
10.22.1 使用iPad專用控制元件:UISplitViewController 523
10.22.2 使用UIPopoverController實現浮動視窗 530
10.22.3 開發同時相容iPhone與iPad 的應用 532
10.23 小結 535
第11章 管理iOS應用的執行 537
11.1 自動旋轉機制 538
11.1.1 配置應用支援的方向 538
11.1.2 指定檢視控制器支援的方向 540
11.2 旋轉時重構使用者介面 541
11.3 旋轉時切換檢視 543
11.4 iOS應用的生命週期 546
11.4.1 應用程式的狀態 547
11.4.2 應用程式啟動過程 548
11.4.3 程式入口:main函式 549
11.4.4 響應中斷 550
11.4.5 進入後臺 552
11.4.6 返回前臺執行 553
11.4.7 應用程式終止 554
11.4.8 Main Run Loop 554
11.5 小結 555
第12章 圖形、影像與動畫 556
12.1 使用UIImage和CGImage處理點陣圖 557
12.1.1 顯示動畫 557
例項:蝴蝶飛舞 559
12.1.2 CGImage與CGImageRef 559
12.2 Quartz 2D繪圖 560
12.2.1 Quartz 2D繪圖基礎:CGContextRef 560
12.2.2 繪製幾何圖形 563
12.2.3 點線模式 565
12.2.4 繪製文字 569
12.2.5 設定陰影 572
12.2.6 使用路徑 573
例項:繪製任意多角星 577
12.2.7 繪製曲線 578
例項:使用曲線繪製多瓣花朵 579
12.2.8 在記憶體中繪圖 580
例項:繪圖板 583
12.2.9 繪製點陣圖 587
例項:擴充套件UIImage的功能 588
12.3 圖形變換 593
12.3.1 使用座標變換 593
12.3.2 座標變換與路徑結合使用 594
例項:雪花飄飄 594
12.3.3 使用矩陣變換 596
12.4 控制疊加模式 599
12.5 處理填充 604
12.5.1 漸變填充 605
12.5.2 模式填充 609
12.6 使用Core Image濾鏡 614
12.7 動畫 621
12.7.1 Core Animation動畫基礎 621
12.7.2 使用CALayer 622
12.7.3 使用CATransition控制過渡動畫 625
12.7.4 使用屬性動畫 629
12.7.5 控制移動路徑 634
例項:繞圈遊動的小魚 634
12.8 小結 636
第13章 瘋狂連連看 637
13.1 遊戲簡介 638
13.2 開發遊戲介面 639
13.2.1 開發介面佈局 639
13.2.2 開發遊戲介面控制元件 639
13.2.3 處理方塊之間的連線線 644
13.3 遊戲的狀態資料模型 646
13.3.1 定義資料模型 646
13.3.2 初始化遊戲狀態資料 647
13.4 載入介面的圖片 651
13.5 實現遊戲檢視控制器 653
13.6 實現遊戲邏輯 655
13.6.1 定義FKGameService的介面程式碼 655
13.6.2 實現FKGameService 656
13.6.3 獲取觸碰點的方塊 657
13.6.4 判斷兩個方塊是否可以相連 658
13.6.5 定義獲取通道的工具方法 659
13.6.6 沒有轉折點的橫向連線 661
13.6.7 沒有轉折點的縱向連線 661
13.6.8 一個轉折點的連線 662
13.6.9 兩個轉折點的連線 665
13.6.10 找出最短距離 671
13.7 小結 673
作者簡介
李剛,從事10多年的軟體行業從業經歷,現任瘋狂軟體教育中心教學總監。
51cto專家門診特邀嘉賓。
曾任廣州電信、廣東龍泉科技等公司的技術培訓導師,廣東技術師範學院電腦科學系的兼職副教授。
培訓的學生已在華為、IBM、阿里軟體、網易、電信盈科等名企就職。
國內著名高階IT技術作家,已出版瘋狂體系圖書均已得到廣泛的市場認同,多次重印成為超級暢銷書,並被多所“985”“211”院校選作教材。部分圖書已被翻譯成繁體中文版、授權到臺灣地區。
前言
移動網際網路熱潮在全世界引起了巨大反響,移動網際網路正在改變著傳統網際網路的格局,全世界的IT公司爭相將業務重心向移動網際網路轉型,移動網際網路業務也成為業內最大的利潤增長點。
Apple公司的iOS系統作為與Android並駕齊驅的兩大作業系統,具有非常完善的生態圈,而且使用者具有良好的付費習慣,吸引了大量的專業軟體和小團隊,甚至包括個人使用者。
Apple公司提供的App Store作為應用程式市場,它賦予了缺乏市場運作能力的第三方開發商和草根開發者新的商業機會:開發商和草根開發者只要專注於應用的開發,而市場和銷售則交給Apple公司管理。在這種模式下,即使小型團隊(甚至個人開發者)也可以創造財富神話。
Apple公司在全世界IT行業是一個極富傳奇色彩的公司,它一度成為全球市值最大的IT公司,Apple公司的產品對於年輕人始終具有神奇的魔力,尤其是iPhone和iPad兩款廣為人知的產品,更是讓無數追求時尚的年輕人為之痴迷。目前Apple公司也在逐步推出iTV(基於iOS系統的智慧電視)、iWatch(智慧手錶)等各種個人電子消費品,這些產品也吊足了時尚一族的胃口。Apple公司獨特的設計、市場運作方式、商業模式和公司經營管理理念,也是眾多IT公司競相研究、模仿的物件。
本書是一本介紹iOS應用開發的實用圖書,全面介紹了iOS 7.0平臺上應用開發各方面的知識。與市面上介紹iOS程式設計的一些圖書不同,本書並沒有花太多篇幅介紹Apple公司、iOS的發展歷史(因為這些內容到處都是),完全沒有介紹App Store(因為它只是一個交易網站,與iOS開發無關,但有些圖書甚至用一章內容介紹它)。
本書只用了一章來介紹如何搭建iOS開發環境和Xcode工具的用法。全書內容大致可分為兩部分。
第一部分詳細介紹Objective-C這門看似冷門的程式語言——實際上,Objective-C現在非常熱門,Objective-C語言目前雄踞程式語言排行第3的位置(前兩名是Java、C)。本書在介紹Objective-C基本語法、物件導向語法時沒有過多地使用IDE工具,而是帶領讀者使用最基本的文字編輯器學習程式設計,使讀者真正掌握Objective-C語法。
第二部分介紹iOS開發的基礎,詳細介紹iOS專案的結構、各檔案的作用及其呼叫關係,並歸納了iOS應用的MVC設計、在程式碼中獲取UI控制元件的3種方式(必須先獲取UI控制元件,然後才可修改它來更新使用者介面),以及iOS應用事件處理的3種方式,透過這種方式可以讓讀者快速掌握iOS程式設計的思路。第二部分的重點是iOS應用的UI介面開發和圖形、影像處理——全書全面、系統地介紹了iOS的各種UI控制元件的功能、用法及其定製方法,並透過相應的例項程式給出了示範。
本書是《瘋狂iOS講義》(上卷),因此關於手勢、資料庫操作、多執行緒程式設計、網路通訊、cocos2d、Box2D、SpriteKit等高階內容將會在下卷介紹。
需要說明的是,本書只是一本介紹iOS應用開發的圖書,不是一本關於所謂“思想”的書,不要指望學習本書能提高你所謂的“iOS思想”,所以那些希望提高程式設計思想的讀者請不要閱讀本書。
本書更不是一本看完之後可以“吹噓、炫耀”的書——因為本書並沒有堆砌一堆“深奧”的新名詞和“高深”的思想,本書保持了“瘋狂體系”的一貫風格:操作步驟詳細、程式設計思路清晰,語言平實。只要讀者想學習iOS開發,無須擔心沒有Apple電腦(網路上使用普通電腦裝黑蘋果的文章鋪天蓋地),也無須擔心沒有iPhone(Xcode整合的模擬器在大部分場景下完全可以勝任開發)——即使讀者以前沒有程式設計基礎,只要有決心和毅力,閱讀本書不會有任何問題(本書從最基本的Objective-C語法開始講起)。
認真看完本書,並把書中所有的示例都練習一遍,本書帶給你的只是9個字:“看得懂、學得會、做得出”。本書最後綜合運用前面介紹的UI程式設計、繪圖等知識編寫了一個《瘋狂連連看》小遊戲,因此認真閱讀本書,掌握書中知識後,即可開發各種棋類、牌類、益智類的小遊戲。
不管怎樣,只要讀者在閱讀本書時遇到了技術問題,都可以登入“瘋狂Java聯盟”()與廣大學習者交流,筆者也會透過該平臺與大家一起交流、學習。
本書還具有如下幾個特點。
1.知識全面,覆蓋面廣
本書深入闡述了Objective-C的基本語法,包括類、物件、方法、成員變數、KVC、KVO、繼承和多型等物件導向的基礎知識,也包括類別(category)、擴充套件(extension)、協議與委託、記憶體管理與ARC等Objective-C的高階知識。本書詳細介紹了iOS全部圖形介面控制元件的功能和用法,事件處理機制,iOS圖形、影像處理。
2.內容實際,實用性強
本書並不侷限於枯燥的理論介紹,而是採用“專案驅動”的方式來講授知識點,每個知識點幾乎都可找到對應的參考例項。本書最後還提供了《瘋狂連連看》遊戲應用,具有極高的參考價值。
3.講解詳細,上手容易
只要讀者有學習的決心和毅力,學完本書內容後就打下紮實的iOS開發基礎,再透過本書下捲來掌握iOS開發的高階知識,即可完全勝任企業中 iOS開發者的實際要求。
本書為所有打算深入掌握iOS程式設計的讀者而編寫,適合各層次的iOS學習者和開發者閱讀,也適合作為大學教育、培訓機構的iOS教材。但如果只是想簡單涉獵iOS應用開發,則本書過於龐大,不適合閱讀。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/13164110/viewspace-1061611/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 瘋狂android講義目錄Android
- iOS 7: iPhone/iPad應用開發技術詳解iOSiPhoneiPad
- 瘋狂Java講義第3版PDFJava
- OC語言瘋狂講義學習筆記C語言筆記
- 瘋狂的Web應用開源專案Web
- iOS開發Objective-C基礎之──多型iOSObject多型
- Android資料儲存與IO(摘自瘋狂Android講義)Android
- iPhone和iPad應用開發制勝之道iPhoneiPad
- iOS開發系列—Objective-C之基礎概覽iOSObject
- 瘋狂Java講義_07_正規表示式RegExJava
- [瘋狂JAVA講義].李剛.高清掃描版.part20.rar[瘋狂JAVA講義].李剛.高清掃描版.part20.rar...Java
- 《瘋狂Kotlin講義》讀書筆記4——流程控制Kotlin筆記
- 瘋狂Android講義(第3版) 李剛著PDF版Android
- 騰訊“瘋狂”開源!
- 為什麼JavaScript開發如此瘋狂JavaScript
- 瘋狂Java講義_Chapter03資料型別和運算子JavaAPT資料型別
- .NET 基礎拾遺(7):Web Service 的開發與應用基礎Web
- [瘋狂JAVA講義].李剛.高清掃描版.part16.rarJava
- [瘋狂JAVA講義].李剛.高清掃描版.part17.rarJava
- [瘋狂JAVA講義].李剛.高清掃描版.part18.rarJava
- 《瘋狂Kotlin講義》讀書筆記6——函式和Lambda表示式Kotlin筆記函式
- 瘋狂Android講義(第二版)pdf及原始碼、工具下載Android原始碼
- iOS開發基礎110-Core Graphics應用場景iOS
- 瘋狂連連看之開發遊戲介面元件開發遊戲元件
- 鴻蒙系統應用基礎開發鴻蒙
- iOS12系統應用開發基礎教程傳送郵件iOS
- (iPhone/iPad)檔案上傳與下載iPhoneiPad
- iOS開發技巧:應用巨集定義使用字型iOS
- iOS 基礎開發技巧 (一)iOS
- iOS開發Runtime的理解與應用iOS
- 鴻蒙OS 2.0應用開發初潮鴻蒙
- 瘋狂的 Vue3 之 四個函式寫應用Vue函式
- iPhone/iPad升級!iOS 11徹底跟32位應用說再見iPhoneiPadiOS
- iOS開發-SiriKit應用iOS
- 【IOS開發基礎系列】Cocoa基礎專題iOS
- iPhone明日上市 玉米蟲瘋狂搶注域名超4000個iPhone
- 29個面向開發人員和設計師的免費iPhone/iPad應用iPhoneiPad
- 基於 Vue2.0 開發的 Lumen IM 線上聊天應用Vue