致謝
第1章 什么是Cocoa
1.1 歷史簡介
1.2 開發(fā)工具
1.3 語言
1.4 對象、類、方法和消息
1.5 框架
1.6 怎樣閱讀這本書
1.7 常見錯誤
1.8 怎樣學習
第2章 起步
2.1 Xcode
新建一個項目
main函數
2.2 Interface Builder
Library窗口
空白窗口
布局界面
指示窗口
創(chuàng)建一個類
創(chuàng)建一個對象
建立連接
2.3 回到XCode
Objective.C中的類型和常量
查看頭文件
編輯定義文件
編譯運行
awakeFromNi
2.4 文檔
2.5 你做了什么
第3章 Objective-C語言
3.1 創(chuàng)建、使用對象
3.2 使用已有的類
給nil發(fā)送消息
NSObject、NSArray、NSMutableArray和NSString
繼承和組合
3.3 建自己的類
創(chuàng)建LotteryEntry類
修改lottery.m
實現description方法
編寫Initializers(初始化器)
帶參數的Initializer
3.4 調試器
3.5 補充知識:消息機制工作原理是什么
3.6 挑戰(zhàn)
第4章 內存管理
4.1 開關垃圾收集器
4.2 使用Garbage Collection
4.3 使用Retain計數
實現dealloc
創(chuàng)建自動釋放對象
Accessor方法
4.4 你完成了什么
第5章 Target/Action
5.1 一些常用的NSControl子類
NSButton
NSSlider
NSTextField
5.2 開始SpeakLine例子
5.3 Nib文件的布局
使用Interface Builder建立連接
NSWindow的initialFirstResponder Outlet
5.4 實現AppController類
5.5 補充知識:通過代碼來設置target
5.6 挑戰(zhàn)
5.7 調試建議
第6章 Helper對象
6.1 委托
6.2 NSTableView和它的dataSource
6.3 布局用戶界面
6.4 創(chuàng)建連接
6.5 修改AppContr011er.m
實現委托時的常見錯誤
對象委托
6.6 補充知識:委托是如何工作的
6.7 挑戰(zhàn):創(chuàng)建一個委托
6.8 挑戰(zhàn):創(chuàng)建一個數據源
第7章 Key—Value Coding;Key—Value Observing
7.1 Key—Value Coding
7.2 綁定
7.3 Key-Value Observing
7.4 讓Keys可被觀察
7.5 Properties和它們的Attributes
@property和@synthesize
一個Property的Attributes
7.6 補充知識:Key Paths
7.7 補充知識:Key—value Observing
第8章 NSArrayController
8.1 開始寫RaiseMan應用
在Xcode中
在Interface Builder中
8.2 Key-Value Coding和nil
8.3 添加排序
8.4 補充知識:不使用NSArrayController排序
……
第9章 NSUndoManager
第10章 Archiving
第11章 Core Data基本原理
第12章 Nib文件和NSWindowController
第13章 User Default
第14章 使用Notifications
第15章 使用Alert Panels
第16章 本地化
第17章 自定義視圖
第18章 Image和鼠標事件
第19章 鍵盤事件
第20章 繪制帶屬性的文本
第21章 粘貼板和Nil-Targeted Actions
第22章 Categories
第23章 拖放
第24章 NSTimer
第25章 工作表
第26章 創(chuàng)建NSFormatter
第27章 打印
第28章 Web Service
第29章 視圖切換
第30章 Core Data Relationships
第31章 垃圾收集
第32章 Core Animation
第33章 一個簡單的Cocoa/Open GL應用程序
第34章 NSTask
第35章 結束
索引