蘋果源代碼不會(huì)告訴你的Objective-C高級(jí)編程
《圖靈程序設(shè)計(jì)叢書·Objective-C高級(jí)編程:iOS與OS X多線程和內(nèi)存管理》在蘋果公司公開的源代碼基礎(chǔ)上,深入剖析了:
iOS 5、OS X Lion 引入的新的內(nèi)存管理技術(shù)ARC
iOS 4、OS X Snow Leopard 引入的多線程應(yīng)用技術(shù)Blocks 和GCD
這些新技術(shù)在App應(yīng)用開發(fā)時(shí)不可或缺。它們看似簡單,但若無深入了解,就會(huì)變成技術(shù)開發(fā)的陷阱。本書在蘋果公司公開的源代碼基礎(chǔ)上加以解說,深入剖析,這些內(nèi)容是僅靠閱讀蘋果公司的參考文檔而難以企及的。
《圖靈程序設(shè)計(jì)叢書·Objective-C高級(jí)編程:iOS與OS X多線程和內(nèi)存管理》在蘋果公司公開的源代碼基礎(chǔ)上,深入剖析了對(duì)應(yīng)用于內(nèi)存管理的ARC以及應(yīng)用于多線程開發(fā)的Blocks和GCD。這些新技術(shù)看似簡單,實(shí)則非常容易成為技術(shù)開發(fā)的陷阱,開發(fā)者僅靠閱讀蘋果公司的文檔是不夠的。
《圖靈程序設(shè)計(jì)叢書·Objective-C高級(jí)編程:iOS與OS X多線程和內(nèi)存管理》適合有一定基礎(chǔ)的iOS開發(fā)者閱讀。
第1章 自動(dòng)引用計(jì)數(shù)
1.1 什么是自動(dòng)引用計(jì)數(shù)
1.2 內(nèi)存管理/引用計(jì)數(shù)
1.2.1 概要
1.2.2 內(nèi)存管理的思考方式
1.2.3 alloc/retain/release/dealloc實(shí)現(xiàn)
1.2.4 蘋果的實(shí)現(xiàn)
1.2.5 autorelease
1.2.6 autorelease實(shí)現(xiàn)
1.2.7 蘋果的實(shí)現(xiàn)
1.3 ARC規(guī)則
1.3.1 概要
1.3.2 內(nèi)存管理的思考方式
1.3.3 所有權(quán)修飾符
1.3.4 規(guī)則
1.3.5 屬性
1.3.6 數(shù)組
1.4 ARC的實(shí)現(xiàn)
1.4.1 __strong修飾符
1.4.2 __weak修飾符
1.4.3 __autoreleasing修飾符
1.4.4 引用計(jì)數(shù)
第2章 Blocks
2.1 Blocks概要
2.1.1 什么是Blocks
2.2 Blocks模式
2.2.1 Block語法
2.2.2 Block類型變量
2.2.3 截獲自動(dòng)變量值
2.2.4 __block說明符
2.2.5 截獲的自動(dòng)變量
2.3 Blocks的實(shí)現(xiàn)
2.3.1 Block的實(shí)質(zhì)
2.3.2 截獲自動(dòng)變量值
2.3.3 __block說明符
2.3.4 Block存儲(chǔ)域
2.3.5 __block變量存儲(chǔ)域
2.3.6 截獲對(duì)象
2.3.7 __block變量和對(duì)象
2.3.8 Block循環(huán)引用
2.3.9 copy/release
第3章 Grand Central Dispatch
3.1 Grand Central Dispatch(GCD)概要
3.1.1 什么是GCD
3.1.2 多線程編程
3.2 GCD的API
3.2.1 Dispatch Queue
3.2.2 dispatch_queue_create
3.2.3 Main Dispatch Queue/Global Dispatch Queue
3.2.4 dispatch_set_target_queue
3.2.5 dispatch_after
3.2.6 Dispatch Group
3.2.7 dispatch_barrier_async
3.2.8 dispatch_sync
3.2.9 dispatch_apply
3.2.10 dispatch_suspend/dispatch_resume
3.2.11 Dispatch Semaphore
3.2.12 dispatch_once
3.2.13 Dispatch I/O
3.3 GCD實(shí)現(xiàn)
3.3.1 Dispatch Queue
3.3.2 Dispatch Source
附錄A ARC、Blocks、GCD使用范例
附錄B 參考資料