出版時(shí)間:2012-10 出版社:電子工業(yè)出版社 作者:王志剛 主編 頁(yè)數(shù):387 字?jǐn)?shù):510000
Tag標(biāo)簽:無(wú)
內(nèi)容概要
本書是為有一定其他語(yǔ)言編程經(jīng)驗(yàn)的程序員轉(zhuǎn)向iOS軟件開發(fā)而撰寫的速成教材。全書一共20講,一天完成1講的學(xué)習(xí)。本著循序漸進(jìn)的原則,前面的10講偏重于Cocoa面向?qū)ο缶幊痰幕靖拍钜约癘bjective-C
2.0語(yǔ)言的語(yǔ)法基礎(chǔ)。
從第10講以后開始進(jìn)入iOS軟件開發(fā)的實(shí)戰(zhàn)階段,每1講的內(nèi)容都比較充實(shí),其中包含了各種實(shí)例代碼,讀者可以在Xcode等開發(fā)環(huán)境中邊實(shí)踐邊學(xué)習(xí)。讀者完成全書20講的學(xué)習(xí)后可以達(dá)到初級(jí)iOS程序員的水準(zhǔn)。未經(jīng)許可,不得以任何方式復(fù)制或抄襲本書之部分或全部?jī)?nèi)容。
書籍目錄
第1講 配置開發(fā)環(huán)境 1
1.1 Mac應(yīng)用程序開發(fā)環(huán)境 1
1.2 iPhone應(yīng)用程序開發(fā)環(huán)境 2
1.3 查看安裝目錄內(nèi)容 .4
1.3.1啟動(dòng) Xcode 5
1.3.2啟動(dòng) Interface Builder 6
1.4 Mac中的基本操作 6
1.4.1彈出菜單的顯示方法 6
1.4.2工具條的定制
第2講 應(yīng)用程序與框架 .10
2.1 關(guān)于應(yīng)用程序 .10
2.1.1應(yīng)用程序的種類 .11
2.1.2關(guān)于 iPhone應(yīng)用程序 . 12
2.2 框架 .13
2.2.1簡(jiǎn)單的【 Hello World】程序 . 13
2.2.2框架的出現(xiàn) . 13
2.2.3編程語(yǔ)言與框架的關(guān)系 14
2.3 MacOS X以及 iPhone SDK中的框架 14
2.3.1框架的安裝目錄 14
2.3.2 Cocoa與Carbon . 15
2.3.3應(yīng)用程序中使用的框架 16
2.4 Cocoa與Carbon的發(fā)展軌跡
第3講 Cocoa與Objective-C20
3.1 框架的使用 .20
3.1.1關(guān)于 API 20
3.1.2 API與編程語(yǔ)言的關(guān)系
3.2 Objective-C的發(fā)展史22
3.3 用于其他語(yǔ)言中的Cocoa API 23
3.3.1通過橋調(diào)用Cocoa . 23
3.3.2是否應(yīng)提倡在Objective-C以外的語(yǔ)言中調(diào)用Cocoa API的開發(fā)方式 . 24
3.4 解答與Objective-C相關(guān)的幾個(gè)疑問
第4講 開發(fā)工具27
4.1 Xcode .27
4.1.1綜合開發(fā)環(huán)境Xcode的功能 . 27
4.1.2工程窗口. 28
4.1.3文本編輯器的功能 32
4.1.4開發(fā)者手冊(cè) . 35
4.2 Interface Builder 36
4.3 Dashcode37
4.4 iPhone模擬器 38
4.5 其他工具 .38
4.5.1 FileMerge 38
4.5.2 Icon Composer 39
4.5.3 Property List Editor. 39
4.6 Mac或iPhone應(yīng)用程序開發(fā)的流程 .39
4.6.1準(zhǔn)備應(yīng)用程序用的材料 39
4.6.2建立步驟. 41
4.6.3 gcc
第5講 Cocoa環(huán)境下的面向?qū)ο缶幊?43
5.1 面向?qū)ο蟮幕靖拍钚g(shù)語(yǔ) .43
5.1.1類 44
5.1.2實(shí)例 44
5.1.3實(shí)例變量. 44
5.1.4方法 45
5.1.5繼承 45
5.1.6相互關(guān)系. 46
5.1.7對(duì)象 46
5.2 在Cocoa實(shí)例中理解基本術(shù)語(yǔ) .47
5.2.1通過按鈕配置理解基本術(shù)語(yǔ) . 47
5.2.2文本輸入框的繼承關(guān)系
第6講 Hello World應(yīng)用程序49
6.1 Hello World程序
6.2 啟動(dòng)Xcode創(chuàng)建工程 .49
6.3 編輯代碼 .51
6.4 啟動(dòng)Interface Builder設(shè)計(jì)用戶界面 52
6.4.1 xib文件 . 52
6.4.2 Interface Builder窗口 53
6.4.3設(shè)計(jì)Hello World的用戶界面. 55
6.5 連接插座與動(dòng)作 .55
6.6 完成Hello World App Delegate的代碼編寫58
6.7 建立與運(yùn)行 .59
6.8 開發(fā)步驟再回顧
第7講 MVC構(gòu)架.62
7.1 HelloWorld應(yīng)用程序開發(fā)流程中包含的信息.62
7.2 什么是MVC構(gòu)架 62
7.2.1視圖層 63
7.2.2模型層 63
7.2.3控制層 64
7.3 使用MVC構(gòu)架的實(shí)例 64
7.3.1 iTunes的模型 64
7.3.2 iTunes的視圖 65
7.3.3 iTunes的控制 66
7.4 使用MVC構(gòu)架的Cocoa應(yīng)用程序開發(fā)特點(diǎn)66
7.4.1視圖組件由Cocoa提供 66
7.4.2保持視圖與模型間的相互獨(dú)立 . 67
7.4.3應(yīng)用程序特有的功能由控制提供 . 67
7.4.4只用創(chuàng)建模型以及控制的類
第8講 插座與動(dòng)作68
8.1 視圖與控制間信息交換 .68
8.2 插座與動(dòng)作 .69
8.2.1什么是插座 . 69
8.2.2什么是動(dòng)作 . 69
8.3 插座以及動(dòng)作的連接 70
8.3.1插座與動(dòng)作的追加 70
8.3.2插座的連接 . 71
8.3.3動(dòng)作的連接 . 72
8.3.4連接確認(rèn).
第9講 Objective-C的語(yǔ)法
9.1 Objective-C的編程概論
9.1.1 Objective-C與C語(yǔ)言
9.1.2 Objective-C程序
9.1.3 類的聲明與實(shí)體
9.1.4 創(chuàng)建Objective-C的測(cè)試工程
9.2 類的聲明
9.2.1 導(dǎo)入聲明文件
9.2.2 類的聲明
9.2.3 實(shí)例變量的聲明
9.2.4 實(shí)例方法的聲明
9.3 編寫類的實(shí)體
9.3.1 編寫類的實(shí)體
9.3.2 編寫方法代碼
9.3.3 關(guān)于方法的聲明
9.4 對(duì)象專用變量類型
9.4.1 實(shí)例對(duì)象專用的變量類型
9.4.2 id類型
9.4.3 nil類型
9.4.4 在條件表達(dá)式中使用對(duì)象變量
9.5 方法調(diào)用
9.5.1 實(shí)例方法的調(diào)用
9.5.2 類方法的調(diào)用
9.5.3 對(duì)象為nil的情況
9.6 命名規(guī)則
9.6.1 類的命名規(guī)則
9.6.2 實(shí)例變量的命名規(guī)則
9.6.3 方法的命名規(guī)則
9.7 重新解析Cocoa的Hello World程序
9.7.1 HelloWorldAppDelegate.h
9.7.2 HelloWorldAppDelegate.m
第10講 內(nèi)存管理
10.1 內(nèi)存分配與釋放
10.2 與內(nèi)存相關(guān)的問題
10.2.1 內(nèi)存釋放的時(shí)機(jī)
10.2.2 內(nèi)存泄漏
10.3 使用垃圾收集進(jìn)行內(nèi)存管理
10.3.1 垃圾回收
10.3.2 Objective-C與垃圾回收
10.3.3 垃圾回收功能有效化
10.3.4 垃圾回收編程的規(guī)則
10.4 由參照統(tǒng)計(jì)實(shí)現(xiàn)的內(nèi)存管理
10.4.1 參照統(tǒng)計(jì)的基本概念
10.4.2 retain、release方法
10.4.3 對(duì)象保持到釋放的流程
10.5 類的實(shí)例化
10.5.1 類的實(shí)例化與初期化
10.5.2 自動(dòng)釋放
10.5.3 創(chuàng)建實(shí)例的方法
10.5.4 實(shí)例的釋放
10.6 內(nèi)存管理的規(guī)則
10.6.1 臨時(shí)對(duì)象
10.6.2 內(nèi)存管理經(jīng)驗(yàn)總結(jié)
第11講 字符串
11.1 字符串專用類
11.2 NSString與NSMutableString
11.3 字符編碼
11.3.1 什么是字符編碼
11.3.2 NSString的字符代碼為Unicode
11.3.3 NSStringEncoding
11.4 字符串的生成
11.4.1 使用【@””】的形式創(chuàng)建新字符串
11.4.2 創(chuàng)建中文字符串
11.4.3 使用格式創(chuàng)建字符串
11.5 NSRange
11.6 字符串處理
11.6.1 計(jì)算字符串的長(zhǎng)度
11.6.2 字符串連接、插入、刪除
11.6.3 字符串的比較
11.6.4 字符串的檢索
11.6.5 抽取部分字符串
11.7 讀寫文本文件
11.7.1 讀取文本文件
11.7.2 文本文件輸出
第12講 集合
12.1 數(shù)組
12.1.1 NSArray與 NSMutableArray
12.1.2 數(shù)組的創(chuàng)建
12.1.3 數(shù)組的長(zhǎng)度
12.1.4 通過索引取得對(duì)象
12.1.5 使用NSEnumerator取得對(duì)象
12.1.6 使用高速枚舉取得對(duì)象
12.1.7 對(duì)象的追加與刪除
12.2 字典
12.2.1 什么是字典類型
12.2.2 NSDictionary與 NSMutableDictionary
12.2.3 NSDictionary的創(chuàng)建
12.2.4 鍵與值的取得
12.2.5 鍵與值的追加
12.3 包裝類
12.3.1 什么是包裝類
12.3.2 NSNumber
12.4 對(duì)象的等價(jià)與同值
12.4.1 擁有相同值的對(duì)象
12.4.2 等價(jià)與
章節(jié)摘錄
版權(quán)頁(yè): 插圖: 使用這個(gè)垃圾決定規(guī)則后,垃圾回收過程就變成如下的方式了。 首先,啟動(dòng)應(yīng)用程序。在一定的時(shí)間內(nèi),按照自己的方式創(chuàng)建對(duì)象,將創(chuàng)建完成的對(duì)象放在一邊。當(dāng)創(chuàng)建的對(duì)象的數(shù)量積累到一定的程度,暫時(shí)停止應(yīng)用程序的運(yùn)行,啟動(dòng)垃圾回收程序。垃圾回收程序從所有的根對(duì)象開始追蹤,在需要的對(duì)象上做標(biāo)記。最后將沒有標(biāo)記的對(duì)象當(dāng)做垃圾,一次性回收。增加了應(yīng)用程序可使用的內(nèi)存空間后,再重新開始運(yùn)行應(yīng)用程序。 10.3.2 Objective—C與垃圾回收 像這樣如此方便的垃圾回收功能,在Cocoa+Objective—C環(huán)境中使用了嗎?答案是肯定的。但是,是從Objective—C 2.0開始的。也就是說(shuō),Mac OS X 10.5以前的版本中是沒有使用的。 因此,從現(xiàn)在開始,如果要開發(fā)新的應(yīng)用程序則可以使用垃圾回收的功能,而且也建議使用。因?yàn)檫@個(gè)功能真的很方便。 另外,也存在不應(yīng)使用垃圾處理的情況。 1.如果需要在Mac OS X 10.4中運(yùn)行時(shí) 如果應(yīng)用程序要運(yùn)行在Mac OS X 10.4版本以及更舊的版本中,則垃圾回收處理將不能使用,因?yàn)槔厥毡仨氃贠bjective—C 2.0中使用。 2.在過去代碼基礎(chǔ)上開發(fā)的情況下 如果不是新開發(fā)的應(yīng)用程序,而是在過去的應(yīng)用程序的基礎(chǔ)上開發(fā)的情況下,則最好放棄使用垃圾回收的功能。因?yàn)椋瑢⑹褂美厥盏拇a與不使用垃圾回收的代碼混在一起,管理起來(lái)非常麻煩。 有人會(huì)說(shuō),將舊代碼部分也改造成使用垃圾回收的形式不就可以了嗎?最好別那么做,辛辛苦苦調(diào)試好的代碼,最好還是原封不動(dòng)直接使用為好。另外,如果將其改造成使用垃圾回收的形式,還可能會(huì)出現(xiàn)后面將會(huì)介紹的性能問題,所以還是不要蠻干。 3.以性能作為最重要指標(biāo)的應(yīng)用程序 垃圾回收是很方便的,但是有一個(gè)缺點(diǎn)就是影響性能。垃圾回收的機(jī)制是在進(jìn)行垃圾回收的時(shí)候,必須停止應(yīng)用程序的運(yùn)行。而且這個(gè)垃圾回收的過程還是非常費(fèi)時(shí)間的,因?yàn)槟惚仨殭z查已存在的幾萬(wàn)個(gè),甚至幾十萬(wàn)個(gè)對(duì)象。 如果應(yīng)用程序非常重視性能,有時(shí)會(huì)忍痛放棄使用垃圾回收處理,而采取手動(dòng)的內(nèi)存管理方式。像這樣的應(yīng)用程序有需要實(shí)時(shí)處理的系統(tǒng),以及游戲這樣需要立即反應(yīng)的應(yīng)用程序等。另外,像嵌入式設(shè)備(iPhone就是嵌入式設(shè)備),其本身CPU的處理速度就慢,內(nèi)存也沒有多少,最好不要使用垃圾回收功能。
編輯推薦
《20天搞定iPhone軟件開發(fā)(適用于iOS 5.0)(雙色版)》編輯推薦:iPhone開發(fā)基礎(chǔ)入門必備圖書。
圖書封面
圖書標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載