Objective-C高級編程

Blocks的實現912.3.1 Block的實質912.3.2 Dispatch1373.1

內容介紹

《Objective-C高級編程:iOS與OS X多執行緒和記憶體管理》在蘋果公司公開的原始碼基礎上,深入剖析了對套用於記憶體管理的ARC以及套用於多執行緒開發的Blocks和GCD。這些新技術看似簡單,實則非常容易成為技術開發的陷阱,開發者僅靠閱讀蘋果公司的文檔是不夠的。
《Objective-C高級編程:iOS與OS X多執行緒和記憶體管理》適合有一定基礎的iOS開發者閱讀。

作者介紹

Kazuki Sakamoto
日本資深軟體工程師,具有17年開發經驗。在StackOverflow上的威望值超過4500。著有《iOS 4編程基礎》、《iPhone&iPad cocos2d遊戲編程》等。Twitter:@splhack。
Tomohiko Furumoto
日本資深軟體工程師,擅長遊戲和移動套用開發。Twitter:@munakoiso。

作品目錄

第1章 自動引用計數1
1.1  什麼是自動引用計數2
1.2  記憶體管理/引用計數2
1.2.1  概要2
1.2.2  記憶體管理的思考方式5
1.2.3  alloc/retain/release/dealloc實現13
1.2.4  蘋果的實現17
1.2.5  autorelease20
1.2.6  autorelease實現24
1.2.7  蘋果的實現26
1.3  ARC規則29
1.3.1  概要29
1.3.2  記憶體管理的思考方式30
1.3.3  所有權修飾符30
1.3.4  規則50
1.3.5  屬性62
1.3.6  數組63
1.4  ARC的實現65
1.4.1  __strong修飾符65
1.4.2  __weak修飾符67
1.4.3  __autoreleasing修飾符75
1.4.4  引用計數76
第2章 Blocks79
2.1  Blocks概要80
2.1.1  什麼是Blocks80
2.2  Blocks模式83
2.2.1  Block語法83
2.2.2  Block類型變數85
2.2.3  截獲自動變數值88
2.2.4  __block說明符88
2.2.5  截獲的自動變數89
2.3  Blocks的實現91
2.3.1  Block的實質91
2.3.2  截獲自動變數值99
2.3.3  __block說明符102
2.3.4  Block存儲域108
2.3.5  __block變數存儲域117
2.3.6  截獲對象121
2.3.7  __block變數和對象126
2.3.8  Block循環引用128
2.3.9  copy/release134
第3章 Grand Central Dispatch137
3.1  Grand Central Dispatch(GCD)概要138
3.1.1  什麼是GCD138
3.1.2  多執行緒編程140
3.2  GCD的API144
3.2.1  Dispatch Queue144
3.2.2  dispatch_queue_create147
3.2.3  Main Dispatch Queue/Global Dispatch Queue150
3.2.4  dispatch_set_target_queue153
3.2.5  dispatch_after154
3.2.6  Dispatch Group155
3.2.7  dispatch_barrier_async157
3.2.8  dispatch_sync160
3.2.9  dispatch_apply161
3.2.10  dispatch_suspend / dispatch_resume163
3.2.11  Dispatch Semaphore164
3.2.12  dispatch_once166
3.2.13  Dispatch I/O167
3.3  GCD實現169
3.3.1  Dispatch Queue169
3.3.2  Dispatch Source171
附錄A  ARC、Blocks、GCD使用範例176
附錄B  參考資料182

相關詞條

相關搜尋

熱門詞條

聯絡我們