解讀Objective-C和Cocoa特性.全面涵蓋新技術(shù)和新增工具.iPhone、iPad、Mac開(kāi)發(fā)必備.Objective-C是一門(mén)面向對象、通用、高級、強大的編程語(yǔ)言。它有著(zhù)優(yōu)雅的編程環(huán)境,并發(fā)揚了C語(yǔ)言的優(yōu)秀特性,是蘋(píng)果的iOS和OS X操作系統的主要編程語(yǔ)言。全面系統地講述了Objective-C的基礎知識和面向對象編程的重要概念,結合實(shí)例介紹了Cocoa工具包的優(yōu)秀特性及框架,以及繼承、復合、對象初始化、類(lèi)別、協(xié)議、內存管理和源文件組織等重要編程技術(shù),教你如何針對iOS或OS X用戶(hù)界面編寫(xiě)出優(yōu)秀的應用程序。另外,本書(shū)第2版新增內容有:
1. Objecitve-C新特性:代碼塊、ARC、類(lèi)擴展;
2. 新增工具Clang靜態(tài)分析器GCD;
3. 如何使用UIKit框架開(kāi)發(fā)精致的iOS應用程序;
4. 如何使用新版本的Xcode。無(wú)論你是初次接觸Objective-C和Cocoa,還是已有豐富的C語(yǔ)言、C++或者Java編程經(jīng)驗,本書(shū)都能讓你輕松過(guò)渡并熟練掌握Objective-C!
第1章 啟程
1.1 預備知識
1.2 歷史
1.3 內容簡(jiǎn)介
1.4 準備工作
1.5 小結
第2章 對C的擴展
2.1 最簡(jiǎn)單的Objective-C程序
2.2 解構Hello Objective-C程序
2.2.1 #import語(yǔ)句
2.2.2 框架
2.2.3 NSLog和@“字符串”
2.3 布爾類(lèi)型
2.4 小結
第3章 面向對象編程的基礎知識
3.1 間接
3.1.1 變量與間接
3.1.2 使用文件名的間接
3.2 在面向對象編程中使用間接
3.2.1 過(guò)程式編程
3.2.2 實(shí)現面向對象編程
3.3 有關(guān)術(shù)語(yǔ)
3.4 Objective-C語(yǔ)言中的OOP
3.4.1 @interface部分
3.4.2 @implementation部分
3.4.3 實(shí)例化對象
3.4.4 擴展Shapes-Object程序
3.5 小結
第4章 繼承
4.1 為何使用繼承
4.2 繼承的語(yǔ)法格式
4.3 繼承的工作機制
4.3.1 方法調度
4.3.2 實(shí)例變量
4.4 重寫(xiě)方法
4.5 小結
第5章 復合
5.1 什么是復合
5.2 自定義NSLog
5.3 存取方法
5.3.1 設置engine屬性的存取方法
5.3.2 設置tires屬性的存取方法
5.3.3 Car類(lèi)代碼的其他變化
5.4 擴展CarParts程序
5.5 復合還是繼承
5.6 小結
第6章 源文件組織
6.1 拆分接口和實(shí)現
6.2 拆分Car程序
6.3 使用跨文件依賴(lài)關(guān)系
6.3.1 重新編譯須知
6.3.2 讓汽車(chē)跑一會(huì )兒
6.3.3 導入和繼承
6.4 小結
第7章 深入了解Xcode
7.1 窗口布局一覽
7.2 改變公司名稱(chēng)
7.3 使用編輯器的技巧
7.4 在Xcode的幫助下編寫(xiě)代碼
7.4.1 首行縮進(jìn)(美觀(guān)排版)
7.4.2 代碼自動(dòng)完成
7.4.3 括號配對
7.4.4 批量編輯
7.4.5 代碼導航
7.4.6 集中精力
7.4.7 使用導航條
7.4.8 獲取信息
7.5 調試
7.5.1 暴力測試
7.5.2 Xcode的調試器
7.5.3 精巧的調試符號
7.5.4 開(kāi)始調試
7.5.5 檢查程序
7.6 備忘表
7.7 小結
第8章 Foundation Kit介紹
8.1 穩固的Foundation
8.2 使用項目樣本代碼
8.3 一些有用的數據類(lèi)型
8.3.1 范圍
8.3.2 幾何數據類(lèi)型
8.4 字符串
8.4.1 創(chuàng )建字符串
8.4.2 類(lèi)方法
8.4.3 關(guān)于大小
8.4.4 字符串比較
8.4.5 不區分大小寫(xiě)的比較
8.4.6 字符串內是否還包含別的字符串
8.4.7 可變性
8.5 集合大家族
8.5.1 NSArray
8.5.2 可變數組
8.5.3 枚舉
8.5.4 快速枚舉
8.5.5 NSDictionary
8.5.6 請不要亂來(lái)
8.6 其他數值
8.6.1 NSNumber
8.6.2 NSValue
8.6.3 NSNull
8.7 示例:查找文件
8.8 小結
第9章 內存管理
9.1 對象生命周期
9.1.1 引用計數
9.1.2 對象所有權
9.1.3 訪(fǎng)問(wèn)方法中的保留和釋放
9.1.4 自動(dòng)釋放
9.1.5 所有對象放入池中
9.1.6 自動(dòng)釋放池的銷(xiāo)毀時(shí)間
9.1.7 自動(dòng)釋放池的工作流程
9.2 Cocoa的內存管理規則
9.2.1 臨時(shí)對象
9.2.2 擁有對象
9.2.3 垃圾回收
9.2.4 自動(dòng)引用計數
9.3 異常
9.3.1 與異常有關(guān)的關(guān)鍵字
9.3.2 捕捉不同類(lèi)型的異常
9.3.3 拋出異常
9.3.4 異常也需要內存管理
9.3.5 異常和自動(dòng)釋放池
9.4 小結
第10章 對象初始化
10.1 分配對象
10.1.1 初始化對象
10.1.2 編寫(xiě)初始化方法
10.1.3 初始化時(shí)要做些什么
10.2 便利初始化函數
10.3 更多部件改進(jìn)
10.3.1 Tire類(lèi)的初始化
10.3.2 更新main函數
10.3.3 清理Car類(lèi)
10.4 Car類(lèi)的內存清理(垃圾回收方式和ARC方式)
10.5 指定初始化函數
10.5.1 子類(lèi)化問(wèn)題
10.5.2 Tire類(lèi)的初始化函數改進(jìn)后的版本
10.5.3 添加AllWeatherRadial類(lèi)的初始化函數
10.6 初始化函數規則
10.7 小結
第11章 屬性
11.1 使用屬性值
11.1.1 簡(jiǎn)化接口代碼
11.1.2 簡(jiǎn)化實(shí)現代碼
11.1.3 點(diǎn)表達式的妙用
11.2 屬性擴展
11.2.1 名稱(chēng)的使用
11.2.2 只讀屬性
11.2.3 自己動(dòng)手有時(shí)更好
11.2.4 特性不是萬(wàn)能的
11.3 小結
第12章 類(lèi)別
12.1 創(chuàng )建類(lèi)別
12.1.1 開(kāi)始創(chuàng )建類(lèi)別
12.1.2 @interface部分
12.1.3 @implementation部分
12.1.4 類(lèi)別的缺陷
12.1.5 類(lèi)別的優(yōu)勢
12.1.6 類(lèi)擴展
12.2 利用類(lèi)別分散實(shí)現代碼
12.3 通過(guò)類(lèi)別創(chuàng )建前向引用
12.4 非正式協(xié)議和委托類(lèi)別
12.4.1 ITunesFinder項目
12.4.2 委托和類(lèi)別
12.4.3 響應選擇器
12.4.4 選擇器的其他應用
12.5 小結
第13章 協(xié)議
13.1 正式協(xié)議
13.1.1 聲明協(xié)議
13.1.2 采用協(xié)議
13.1.3 實(shí)現協(xié)議
13.2 復制
13.2.1 復制Engine
13.2.2 復制Tire
13.2.3 復制Car
13.2.4 協(xié)議和數據類(lèi)型
13.3 Objective-C 2.0的新特性
13.4 委托方法
13.5 小結
第14章 代碼塊和并發(fā)性
14.1 代碼塊
14.1.1 代碼塊和函數指針
14.1.2 Objective-C變量
14.2 并發(fā)性
14.2.1 同步
14.2.2 隊列也要內存管理
14.2.3 操作隊列
14.3 小結
第15章 AppKit簡(jiǎn)介
15.1 構建項目
15.2 創(chuàng )建委托文件的@interface部分
15.3 Interface Builder
15.4 設計用戶(hù)界面
15.5 創(chuàng )建連接
15.5.1 連接輸出口(IBOutlet)
15.5.2 連接操作(IBAction)
15.6 應用程序委托的實(shí)現
15.7 小結
第16章 UIKit簡(jiǎn)介
16.1 視圖控制器
16.2 小結
第17章 文件加載與保存
17.1 屬性列表
17.1.1 NSDate
17.1.2 NSData
17.1.3 寫(xiě)入和讀取屬性列表
17.1.4 修改對象類(lèi)型
17.2 編碼對象
17.3 小結
第18章 鍵/值編碼
18.1 入門(mén)項目
18.2 KVC簡(jiǎn)介
18.3 鍵路徑
18.4 整體操作
18.4.1 休息一下
18.4.2 快速運算
18.5 批處理
18.6 nil仍然可用
18.7 處理未定義的鍵
18.8 小結
第19章 使用靜態(tài)分析器
19.1 靜態(tài)工作
19.1.1 開(kāi)始分析
19.1.2 協(xié)助分析器
19.1.3 了解更多
19.2 小結
第20章 NSPredicate
20.1 創(chuàng )建謂詞
20.2 計算謂詞
20.3 數組過(guò)濾器
20.4 格式說(shuō)明符
20.5 運算符
20.5.1 比較和邏輯運算符
20.5.2 數組運算符
20.6 有SELF就足夠了
20.7 字符串運算符
20.8 LIKE運算符
20.9 結語(yǔ)
附錄 從其他語(yǔ)言轉向Objective-C
索引