溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

瘋狂iOS 講義(上) Objective-C 2.0與iPhone/iPad應用開發(fā)基礎

發(fā)布時間:2020-06-30 01:04:03 來源:網(wǎng)絡 閱讀:445 作者:博文視點 欄目:移動開發(fā)

瘋狂iOS 講義(上)Objective-C 2.0iPhone/iPad應用開發(fā)基礎(國內(nèi)首部iOS 7相關(guān)著作,小伙伴們,學好iPhone/iPad應用開發(fā),我們一起做土豪吧)

李剛

ISBN978-7-121-19107-7

20141月出版

定價:99.00

684

16

瘋狂iOS 講義(上) Objective-C 2.0與iPhone/iPad應用開發(fā)基礎

編輯推薦

內(nèi)容最詳盡的iOS 7平臺iPhone/iPad應用開發(fā)指引

獲獎無數(shù)的瘋狂講義系列最新作品

密集的代碼注釋,幫你讀懂代碼、領悟真諦

內(nèi)有“瘋狂連連看”等案例的完整實現(xiàn)

內(nèi)容提要

本書以最新的 iOS 7.0、Xcode 5 為平臺,全面介紹 iOS 應用開發(fā)的基礎知識。全書從Objective-C 基本語法開始,詳細介紹了 Objective-C 的基本語法結(jié)構(gòu)、Objective-C的面向?qū)ο筇卣鳌?/span>Foundation 框架的核心類庫用法、文件 I/O 體系等知識,掌握Objective-C 語言是 iOS 引用開發(fā)的基礎。之后,本書將帶領讀者掌握 iOS 應用開發(fā)的基本理論以及 iOS 應用的 MVC 設計和事件處理編程,重點介紹 iOS 界面編程、iOS 應用的生命周期、Quartz 2D 繪圖、坐標變換、CoreImage 濾鏡、Core Animation 動畫等內(nèi)容。最后介紹了一個《瘋狂連連看》游戲?qū)嵗?/span>

本書并不局限于介紹 iOS 編程的各種理論知識,而是從“項目驅(qū)動”的角度來講授理論,全書一共包括近百個實例,這些示范性的實例既可幫讀者更好地理解各知識點在實際開發(fā)中的應用,也可供讀者在實際開發(fā)時作為參考,拿來就用。

本書為所有打算深入掌握 iOS 編程的讀者而編寫,適合各層次的 iOS 學習者和開發(fā)者閱讀,也適合作為大學教育、培訓機構(gòu)的 iOS 教材。但如果只是想簡單涉獵 iOS 應用開發(fā),則本書過于龐大,不適合閱讀。

目錄

第1章 iOS應用與開發(fā)環(huán)境1

1.1Objective-C與iOS簡介2

1.1.1Objective-C簡介2

1.1.2iOS簡介3

1.2搭建iOS開發(fā)環(huán)境3

1.2.1下載并安裝Xcode和SDK4

1.2.2安裝輔助工具和文檔6

1.3第一個Objective-C程序6

1.3.1使用文本編輯器開發(fā)Objective-C程序7

1.3.2使用Xcode工具開發(fā)Objective-C程序9

1.4 熟悉Xcode10

1.4.1創(chuàng)建iOS項目11

1.4.2熟悉導航面板12

1.4.3熟悉檢查器面板14

1.4.4熟悉庫面板15

1.4.5使用Xcode的幫助系統(tǒng)17

1.5小結(jié)20

第2章 數(shù)據(jù)類型和運算符21

2.1注釋22

2.2標識符和變量23

2.2.1分隔符23

2.2.2標識符規(guī)則25

2.2.3Objective-C關(guān)鍵字25

2.3數(shù)據(jù)類型分類25

2.4基本數(shù)據(jù)類型26

2.4.1整型26

2.4.2NSLog輸出函數(shù)及格式字符27

2.4.3字符型29

2.4.4浮點型30

2.4.5枚舉型31

2.4.6BOOL類型32

2.5類型轉(zhuǎn)換34

2.5.1自動類型轉(zhuǎn)換34

2.5.2強制類型轉(zhuǎn)化36

2.5.3表達式類型的自動提升36

2.6運算符37

2.6.1算術(shù)運算符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運算符的結(jié)合性和優(yōu)先級45

2.7小結(jié)46

第3章 流程控制與數(shù)組47

3.1順序結(jié)構(gòu)48

3.2分支結(jié)構(gòu)48

3.2.1if條件語句48

3.2.2switch分支語句52

3.3循環(huán)結(jié)構(gòu)54

3.3.1while循環(huán)語句54

3.3.2do while循環(huán)語句56

3.3.3for循環(huán)56

3.3.4嵌套循環(huán)59

3.4控制循環(huán)結(jié)構(gòu)60

3.4.1使用break結(jié)束循環(huán)61

3.4.2使用continue結(jié)束本次循環(huán)61

3.4.3使用return結(jié)束函數(shù)62

3.5goto語句62

3.6數(shù)組64

3.6.1定義數(shù)組64

3.6.2數(shù)組的初始化65

3.6.3使用數(shù)組66

3.6.4多維數(shù)組67

3.6.5多維數(shù)組的初始化68

3.6.6字符數(shù)組、字符串與結(jié)束標志73

3.6.7輸出字符串和字符串函數(shù)74

3.6.8數(shù)組的應用舉例76

3.7小結(jié)78

第4章 C語言特性79

4.1函數(shù)80

4.1.1定義函數(shù)80

4.1.2函數(shù)聲明83

4.1.3函數(shù)的參數(shù)傳遞機制84

4.1.4遞歸函數(shù)88

4.1.5數(shù)組作為函數(shù)參數(shù)89

4.1.6內(nèi)部函數(shù)與外部函數(shù)93

4.2局部變量與全局變量94

4.2.1局部變量95

4.2.2全局變量96

4.2.3外部全局變量與內(nèi)部全局變量97

4.2.4動態(tài)存儲與靜態(tài)存儲99

4.3預處理101

4.3.1使用#define、#undef執(zhí)行宏定義101

4.3.2帶參數(shù)的宏定義103

4.3.3使用#ifdef、#ifndef、#else、#endif執(zhí)行條件編譯104

4.3.4使用#if、#elif、#else、#endif執(zhí)行條件編譯106

4.3.5#include與#import107

4.4指針108

4.4.1指針的概念108

4.4.2指針變量及其基本用法109

4.4.3指針變量作為函數(shù)參數(shù)111

4.5指針與數(shù)組113

4.5.1指向數(shù)組的指針變量113

4.5.2指針運算114

4.5.3數(shù)組變量作為函數(shù)參數(shù)116

4.5.4指向多維數(shù)組的指針變量118

4.6字符串與指針121

4.6.1使用字符指針表示字符串121

4.6.2字符指針作為函數(shù)參數(shù)122

4.7函數(shù)與指針123

4.7.1用函數(shù)指針變量調(diào)用函數(shù)123

4.7.2用函數(shù)指針變量作為函數(shù)參數(shù)124

4.7.3返回指針的函數(shù)126

4.8指針數(shù)組和指向指針的指針127

4.8.1指針數(shù)組與main()函數(shù)形參127

4.8.2指向指針變量的指針130

4.9結(jié)構(gòu)體130

4.9.1定義結(jié)構(gòu)體131

4.9.2typedef語句133

4.9.3初始化結(jié)構(gòu)體變量134

4.9.4結(jié)構(gòu)體數(shù)組135

4.10塊136

4.10.1塊的基本語法136

4.10.2塊與局部變量137

4.10.3直接使用塊作為參數(shù)139

4.10.4使用typedef定義塊變量類型139

4.11小結(jié)140

第5章 面向?qū)ο螅ㄉ希?41

5.1類和對象142

5.1.1定義類142

5.1.2對象的產(chǎn)生和使用146

5.1.3對象和指針148

5.1.4self關(guān)鍵字150

5.1.5id類型153

5.2方法詳解154

5.2.1方法的所屬性154

5.2.2形參個數(shù)可變的方法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)與鍵值監(jiān)聽(KVO)172

5.5.1簡單的KVC172

5.5.2處理不存在的key175

5.5.3處理nil值176

5.5.4Key路徑178

5.5.5鍵值監(jiān)聽(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.3super關(guān)鍵字190

5.8多態(tài)193

5.8.1多態(tài)性193

5.8.2指針變量的強制類型轉(zhuǎn)換196

5.8.3判斷指針變量的實際類型197

5.9小結(jié)198

第6章 面向?qū)ο螅ㄏ拢?99

6.1Objective-C的包裝類200

6.1.1它們不是包裝類200

6.1.2NSValue和NSNumber201

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使用類別來調(diào)用私有方法212

6.3.4擴展(extension)214

6.4協(xié)議(protocol)與委托216

6.4.1規(guī)范、協(xié)議與接口216

6.4.2使用類別實現(xiàn)非正式協(xié)議217

6.4.3正式協(xié)議的定義218

6.4.4遵守(實現(xiàn))協(xié)議219

6.4.5協(xié)議與委托(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.6Objective-C反射機制232

6.6.1獲得Class232

6.6.2檢查繼承關(guān)系233

6.6.3動態(tài)調(diào)用方法235

6.7手動內(nèi)存管理237

6.7.1對象的引用計數(shù)239

6.7.2對象所屬權(quán)241

6.7.3方法中的保留和釋放243

6.7.4使用自動釋放池245

6.7.5自動釋放池的銷毀時機與工作過程246

6.7.6臨時對象與事件循環(huán)中的自動釋放池248

6.7.7手動內(nèi)存管理的規(guī)則總結(jié)249

6.8自動引用計數(shù)250

6.8.1自動引用計數(shù)概述250

6.8.2@autoreleasepool塊251

6.9小結(jié)251

第7章 Foundation框架詳解252

7.1字符串(NSString與NSMutableString)253

7.1.1創(chuàng)建字符串253

7.1.2NSString的常用功能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.1copy與mutableCopy方法263

7.3.2NSCopying與NSMutableCopy協(xié)議264

7.3.3淺復制與深復制266

7.3.4setter方法的復制選項268

7.4Objective-C集合概述269

7.5數(shù)組(NSArray與NSMutableArray)270

7.5.1NSArray的功能與用法270

7.5.2對集合元素整體調(diào)用方法275

7.5.3對NSArray進行排序276

7.5.4使用枚舉器遍歷NSArray集合元素278

7.5.5快速枚舉(for…in)279

7.5.6可變數(shù)組(NSMutableArray)279

7.5.7NSArray的KVC與KVO281

7.6集合(NSSet與NSMutableSet)282

7.6.1NSSet的功能與用法282

7.6.2NSSet判斷集合元素重復的標準285

7.6.3NSMutableSet的功能與用法288

7.6.4NSCountedSet的功能與用法289

7.7有序集合(NSOrderedSet與NSMutableOrderedSet)290

7.8字典(NSDictionary與NSMutableDictionary)291

7.8.1NSDictionary的功能與用法292

7.8.2對NSDictionary的key排序295

7.8.3對NSDictionary的key進行過濾297

7.8.4使用自定義類作為NSDictionary的key298

7.8.5NSMutableDictionary的功能與用法299

7.9謂詞301

7.9.1定義謂詞301

7.9.2使用謂詞過濾集合302

7.9.3在謂詞中使用占位符參數(shù)303

7.9.4謂詞表達式語法305

7.9小結(jié)307

第8章 文件I/O308

8.1使用NSData與NSMutableData309

8.2使用NSFileManager管理文件和

8.2.1訪問文件屬性和內(nèi)容311

8.2.2創(chuàng)建、刪除、移動、復制312

8.2.3查看目錄包含的內(nèi)容313

8.3使用NSPathUtilities.h管理路徑314

8.4使用ProcessInfo獲取進程信息316

8.5使用NSFileHandle處理文件IO317

8.6使用NSURL讀取網(wǎng)絡資源319

8.7使用NSBundle處理項目相關(guān)資源320

8.8對象歸檔322

8.8.1使用NSKeyedArchiver歸檔322

8.8.2實現(xiàn)NSCoding協(xié)議323

8.8.3使用NSData完成自定義歸檔326

8.8.4使用歸檔實現(xiàn)深復制329

8.9小結(jié)330

第9章 iOS應用開發(fā)入門331

9.1從iOS項目開始332

9.1.1iOS項目包含的文件332

9.1.2Interface Builder簡介333

9.1.3向nib文件添加控件336

9.1.4修改控件屬性338

9.1.5UIView支持的屬性339

9.1.6UILabel支持的屬性340

9.2MVC342

9.2.1從程序入口開始342

9.2.2應用程序委托343

9.2.3理解iOS的MVC346

9.2.4掌握UIViewController控制器347

9.3事件機制349

9.3.1程序獲取控件的兩種方式349

9.3.2事件處理的方式353

9.4Storyboard的改進之處358

9.5代碼控制UI界面360

9.5.1不使用界面布局文件開發(fā)UI界面360

實例:×××面布局文件開發(fā)iOS應用360

9.5.2使用代碼創(chuàng)建UI界面362

實例:動態(tài)添加、刪除標簽362

9.4.3自定義UI控件364

實例:跟隨手指運動的小球365

9.6美化iOS應用367

9.5.1定制iOS應用圖標367

9.5.2設置iOS應用的啟動畫面367

9.6小結(jié)369

第10章 iOS應用的界面編程370

10.1UI控件概述371

10.1.1活動、靜態(tài)和被動控件371

10.1.2UIControl基類介紹372

10.2按鈕(UIButton)373

實例:豐富多彩的按鈕376

10.3文本框(UITextField)377

實例:用戶登錄界面379

10.3.1完成輸入后關(guān)閉鍵盤380

10.3.2觸碰背景關(guān)閉鍵盤381

10.4多行文本控件(UITextView)382

10.4.1UIScrollView支持的屬性383

10.4.2使用委托對象處理UITextView事件385

實例:導航按鈕關(guān)閉虛擬鍵盤385

實例:自定義鍵盤附件關(guān)閉虛擬鍵盤387

10.4.3自定義選擇內(nèi)容后的菜單389

10.5開關(guān)按鈕(UISwitch)390

實例:使用開關(guān)控制“手電筒”390

10.6分段控件(UISegmentedControl)391

實例1:通過分段控件控制背景顏色393

實例2:動態(tài)增加、刪除分段394

10.7圖像控件(UIImageView)395

實例1:圖片瀏覽器396

實例2:“幻燈片”播放器398

10.8進度條399

10.8.1UIProgressView399

實例:定制進度條400

10.8.2UIActivityIndicatorView401

10.9拖動條(UISlider)403

實例:通過拖動滑塊改變圖片透明度404

10.10警告框(UIAlertView)與UIActionSheet405

10.10.1UIAlertView的基本用法405

10.10.2帶輸入框的UIAlertView407

10.10.3使用UIActionSheet409

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微調(diào)器(UIStepper)426

10.14網(wǎng)頁控件(UIWebView)428

實例:迷你瀏覽器430

10.15工具條(UIToolbar)431

實例:自定義工具條控件433

10.16表格(UITableView)與表格控制器?。║ITableViewController)435

10.16.1簡單表格 437

10.16.2處理單元格的選中440

實例:編輯選中行441

10.16.3定制表格行446

實例1:繼承UITableViewCell定制表格行446

實例2:使用動態(tài)單元格原型定制表格行449

實例3:利用xib文件定制表格行451

10.16.4編輯表格454

10.16.5多分區(qū)表格以及分區(qū)索引459

10.16.6直接使用UITableViewController461

10.16.7靜態(tài)單元格464

10.16.8使用iOS 6新增的UIRefresh Controller刷新表格465

10.17搜索條(UISearchBar)467

10.17.1使用搜索條468

10.17.2使用UISearchDisplayController471

實例:下拉列表顯示搜索結(jié)果471

10.18導航條(UINavigationBar)與導航 條控制器(UINavigationController)475

10.18.1使用導航條475

10.18.2使用UINavigationController477

實例:查看、編輯圖書信息479

10.18.3使用segue控制過渡484

10.18.4使用segue控制導航487

10.19網(wǎng)格(UICollectionView)與網(wǎng)格控制器(UICollectionViewController)490

10.19.1UICollectionView的功能與用法492

10.19.2使用UICollectionViewDelegateFlowLayout定制布局497

實例:單元格大小不同的網(wǎng)格497

10.19.3擴展UICollectionViewLayout定制布局498

實例:環(huán)形布局的UICollectionView499

10.19.4多分區(qū)網(wǎng)格502

實例:帶頁眉、頁腳的多分區(qū)網(wǎng)格502

10.19.5直接使用UICollectionViewController505

10.20標簽條(UITabBar)與標簽頁控制器(UITabBarController)509

10.20.1使用UITabBar509

10.20.2使用UITabBarController511

10.20.3在Storyboard中使用UITabBarController514

10.21頁控件(UIPageControl)與頁控制器(UIPageViewController)515

10.21.1UIPageControl與UIScrollView結(jié)合使用515

10.21.2使用UIPageViewController519

10.22iPad應用開發(fā)523

10.22.1使用iPad專用控件:UISplitViewController 523

10.22.2使用UIPopoverController實現(xiàn)浮動窗口530

10.22.3開發(fā)同時兼容iPhone與iPad 的應用532

10.23小結(jié)535

第11章 管理iOS應用的運行537

11.1自動旋轉(zhuǎn)機制538

11.1.1配置應用支持的方向538

11.1.2指定視圖控制器支持的方向540

11.2旋轉(zhuǎn)時重構(gòu)用戶界面541

11.3旋轉(zhuǎn)時切換視圖543

11.4iOS應用的生命周期546

11.4.1應用程序的狀態(tài)547

11.4.2應用程序啟動過程548

11.4.3程序入口:main函數(shù)549

11.4.4響應中斷550

11.4.5進入后臺552

11.4.6返回前臺運行553

11.4.7應用程序終止554

11.4.8Main Run Loop554

11.5小結(jié)555

第12章 圖形、圖像與動畫556

12.1使用UIImage和CGImage處理位圖557

12.1.1顯示動畫557

實例:蝴蝶飛舞559

12.1.2CGImage與CGImageRef559

12.2Quartz 2D繪圖560

12.2.1Quartz 2D繪圖基礎:CGContextRef560

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在內(nèi)存中繪圖580

實例:繪圖板583

12.2.9繪制位圖587

實例:擴展UIImage的功能588

12.3圖形變換593

12.3.1使用坐標變換593

12.3.2坐標變換與路徑結(jié)合使用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.1Core Animation動畫基礎621

12.7.2使用CALayer622

12.7.3使用CATransition控制過渡動畫625

12.7.4使用屬性動畫629

12.7.5控制移動路徑634

實例:繞圈游動的小魚634

12.8小結(jié)636

第13章 瘋狂連連看637

13.1游戲簡介638

13.2開發(fā)游戲界面639

13.2.1開發(fā)界面布局639

13.2.2開發(fā)游戲界面控件639

13.2.3處理方塊之間的連接線644

13.3游戲的狀態(tài)數(shù)據(jù)模型646

13.3.1定義數(shù)據(jù)模型646

13.3.2初始化游戲狀態(tài)數(shù)據(jù)647

13.4加載界面的圖片651

13.5實現(xiàn)游戲視圖控制器653

13.6實現(xiàn)游戲邏輯655

13.6.1定義FKGameService的接口代碼655

13.6.2實現(xiàn)FKGameService656

13.6.3獲取觸碰點的方塊657

13.6.4判斷兩個方塊是否可以相連658

13.6.5定義獲取通道的工具方法659

13.6.6沒有轉(zhuǎn)折點的橫向連接661

13.6.7沒有轉(zhuǎn)折點的縱向連接661

13.6.8一個轉(zhuǎn)折點的連接662

13.6.9兩個轉(zhuǎn)折點的連接665

13.6.10找出最短距離671

13.7小結(jié)673

作者簡介

李剛,從事10多年的軟件行業(yè)從業(yè)經(jīng)歷,現(xiàn)任瘋狂軟件教育中心教學總監(jiān)。

51cto專家門診特邀嘉賓。

曾任廣州電信、廣東龍泉科技等公司的技術(shù)培訓導師,廣東技術(shù)師范學院計算機科學系的兼職副教授。

培訓的學生已在華為、IBM、阿里軟件、網(wǎng)易、電信盈科等名企就職。

國內(nèi)著名高端IT技術(shù)作家,已出版瘋狂體系圖書均已得到廣泛的市場認同,多次重印成為超級暢銷書,并被多所“985”“211”院校選作教材。部分圖書已被翻譯成繁體中文版、授權(quán)到臺灣地區(qū)。

前言

移動互聯(lián)網(wǎng)熱潮在全世界引起了巨大反響,移動互聯(lián)網(wǎng)正在改變著傳統(tǒng)互聯(lián)網(wǎng)的格局,全世界的IT公司爭相將業(yè)務重心向移動互聯(lián)網(wǎng)轉(zhuǎn)型,移動互聯(lián)網(wǎng)業(yè)務也成為業(yè)內(nèi)最大的利潤增長點。

Apple公司的iOS系統(tǒng)作為與Android并駕齊驅(qū)的兩大操作系統(tǒng),具有非常完善的生態(tài)圈,而且用戶具有良好的付費習慣,吸引了大量的專業(yè)軟件和小團隊,甚至包括個人用戶。

Apple公司提供的AppStore作為應用程序市場,它賦予了缺乏市場運作能力的第三方開發(fā)商和草根開發(fā)者新的商業(yè)機會:開發(fā)商和草根開發(fā)者只要專注于應用的開發(fā),而市場和銷售則交給Apple公司管理。在這種模式下,即使小型團隊(甚至個人開發(fā)者)也可以創(chuàng)造財富神話。

Apple公司在全世界IT行業(yè)是一個極富傳奇色彩的公司,它一度成為全球市值最大的IT公司,Apple公司的產(chǎn)品對于年輕人始終具有神奇的魔力,尤其是iPhoneiPad兩款廣為人知的產(chǎn)品,更是讓無數(shù)追求時尚的年輕人為之癡迷。目前Apple公司也在逐步推出iTV(基于iOS系統(tǒng)的智能電視)、iWatch(智能手表)等各種個人電子消費品,這些產(chǎn)品也吊足了時尚一族的胃口。Apple公司獨特的設計、市場運作方式、商業(yè)模式和公司經(jīng)營管理理念,也是眾多IT公司競相研究、模仿的對象。

本書是一本介紹iOS應用開發(fā)的實用圖書,全面介紹了iOS 7.0平臺上應用開發(fā)各方面的知識。與市面上介紹iOS編程的一些圖書不同,本書并沒有花太多篇幅介紹Apple公司、iOS的發(fā)展歷史(因為這些內(nèi)容到處都是),完全沒有介紹App Store(因為它只是一個交易網(wǎng)站,與iOS開發(fā)無關(guān),但有些圖書甚至用一章內(nèi)容介紹它)。

本書只用了一章來介紹如何搭建iOS開發(fā)環(huán)境和Xcode工具的用法。全書內(nèi)容大致可分為兩部分。

第一部分詳細介紹Objective-C這門看似冷門的編程語言——實際上,Objective-C現(xiàn)在非常熱門,Objective-C語言目前雄踞編程語言排行第3的位置(前兩名是Java、C)。本書在介紹Objective-C基本語法、面向?qū)ο笳Z法時沒有過多地使用IDE工具,而是帶領讀者使用最基本的文本編輯器學習編程,使讀者真正掌握Objective-C語法。

第二部分介紹iOS開發(fā)的基礎,詳細介紹iOS項目的結(jié)構(gòu)、各文件的作用及其調(diào)用關(guān)系,并歸納了iOS應用的MVC設計、在代碼中獲取UI控件的3種方式(必須先獲取UI控件,然后才可修改它來更新用戶界面),以及iOS應用事件處理的3種方式,通過這種方式可以讓讀者快速掌握iOS編程的思路。第二部分的重點是iOS應用的UI界面開發(fā)和圖形、圖像處理——全書全面、系統(tǒng)地介紹了iOS的各種UI控件的功能、用法及其定制方法,并通過相應的實例程序給出了示范。

本書是《瘋狂iOS講義》(上卷),因此關(guān)于手勢、數(shù)據(jù)庫操作、多線程編程、網(wǎng)絡通信、cocos2d、Box2DSpriteKit等高級內(nèi)容將會在下卷介紹。

需要說明的是,本書只是一本介紹iOS應用開發(fā)的圖書,不是一本關(guān)于所謂思想的書,不要指望學習本書能提高你所謂的“iOS思想,所以那些希望提高編程思想的讀者請不要閱讀本書。

本書更不是一本看完之后可以吹噓、炫耀的書——因為本書并沒有堆砌一堆深奧的新名詞和高深的思想,本書保持了瘋狂體系的一貫風格:操作步驟詳細、編程思路清晰,語言平實。只要讀者想學習iOS開發(fā),無須擔心沒有Apple電腦(網(wǎng)絡上使用普通電腦裝黑蘋果的文章鋪天蓋地),也無須擔心沒有iPhoneXcode集成的模擬器在大部分場景下完全可以勝任開發(fā))——即使讀者以前沒有編程基礎,只要有決心和毅力,閱讀本書不會有任何問題(本書從最基本的Objective-C語法開始講起)。

認真看完本書,并把書中所有的示例都練習一遍,本書帶給你的只是9個字:看得懂、學得會、做得出。本書最后綜合運用前面介紹的UI編程、繪圖等知識編寫了一個《瘋狂連連看》小游戲,因此認真閱讀本書,掌握書中知識后,即可開發(fā)各種棋類、牌類、益智類的小游戲。

不管怎樣,只要讀者在閱讀本書時遇到了技術(shù)問題,都可以登錄瘋狂Java聯(lián)盟http://www.crazyit.org)與廣大學習者交流,筆者也會通過該平臺與大家一起交流、學習。

本書還具有如下幾個特點。

1.知識全面,覆蓋面廣

本書深入闡述了Objective-C的基本語法,包括類、對象、方法、成員變量、KVC、KVO、繼承和多態(tài)等面向?qū)ο蟮幕A知識,也包括類別(category)、擴展(extension)、協(xié)議與委托、內(nèi)存管理與ARC等Objective-C的高級知識。本書詳細介紹了iOS全部圖形界面控件的功能和用法,事件處理機制,iOS圖形、圖像處理。

2.內(nèi)容實際,實用性強

本書并不局限于枯燥的理論介紹,而是采用“項目驅(qū)動”的方式來講授知識點,每個知識點幾乎都可找到對應的參考實例。本書最后還提供了《瘋狂連連看》游戲應用,具有極高的參考價值。

3.講解詳細,上手容易

只要讀者有學習的決心和毅力,學完本書內(nèi)容后就打下扎實的iOS開發(fā)基礎,再通過本書下卷來掌握iOS開發(fā)的高級知識,即可完全勝任企業(yè)中 iOS開發(fā)者的實際要求。


本書為所有打算深入掌握iOS編程的讀者而編寫,適合各層次的iOS學習者和開發(fā)者閱讀,也適合作為大學教育、培訓機構(gòu)的iOS教材。但如果只是想簡單涉獵iOS應用開發(fā),則本書過于龐大,不適合閱讀。


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI