GCD除了多線程的能力,我們常常還會(huì)利用柵欄、信號(hào)量等功能實(shí)現(xiàn)一些特定需求,本文將通過(guò)對(duì)libdispatch-1173.60.1源碼[http...
本文主要通過(guò)GCD源碼libdispatch-1173.60.1(源碼下載[https://opensource.apple.com/relea...
GCD全程Grand Central Dispath,是蘋(píng)果提供的一套多核并行運(yùn)算的解決方案,GCD使用純C語(yǔ)言的API,提供了非常強(qiáng)大的API...
iOS內(nèi)存主要分成棧區(qū)、堆區(qū)、全局區(qū)、常量區(qū)、代碼區(qū)這五大區(qū)域。如下圖所示: 棧(Stack) 棧是由高地址向低地址擴(kuò)展的一塊連續(xù)的內(nèi)存區(qū)域,一...
通常我們會(huì)在分類(lèi)中添加方法,而無(wú)法在在分類(lèi)中添加屬性,我們?cè)诜诸?lèi)中添加@property(nonatomic, copy) NSString *...
在上一篇文章中我們基本了解了類(lèi)是如何加載到內(nèi)存的,但是我們僅僅探究了本類(lèi)的方法加載,而對(duì)于分類(lèi)的情況仍然沒(méi)有探究,本文就對(duì)分類(lèi)的方法時(shí)如何加載到...
在上一篇文章(dyld和objc的關(guān)聯(lián)[http://www.itdecent.cn/p/9dd9b9d09b43])中,我們我已經(jīng)了解到ob...
dyld(the dynamic link editor),也就是動(dòng)態(tài)鏈接器,是內(nèi)核在完成進(jìn)程工作后,需要將需要的庫(kù)和符號(hào)鏈接到Mach-O鏡像...
從objc4官方的源碼上看,當(dāng)一個(gè)方法經(jīng)過(guò)快速查找和慢速查找后,會(huì)經(jīng)過(guò)動(dòng)態(tài)方法決議進(jìn)行第一次補(bǔ)救,然而蘋(píng)果僅僅給我們這一次補(bǔ)救機(jī)會(huì)嗎?從源碼上我...