一、寄存器編程代碼 1.實(shí)例 在某些組件運(yùn)用到了寄存器相關(guān)編程,目的是為了調(diào)出當(dāng)前運(yùn)行堆棧,部分應(yīng)用代碼如下: 直接拿到 __ss 對(duì)應(yīng)結(jié)構(gòu)體看...
Runloop處理事件模型 RunLoop 的運(yùn)行邏輯 01、通知Observers:進(jìn)入Loop 02、通知Observers:即將處理Tim...
什么是一個(gè)Runloop 是通過(guò)內(nèi)部維護(hù)的事件循環(huán)(==用戶(hù)態(tài) 和 內(nèi)核態(tài) 相互轉(zhuǎn)換==)來(lái)對(duì)事件或消息進(jìn)行管理的一個(gè)對(duì)象 事件循環(huán)是什么? 一...
什么是引用計(jì)數(shù)? 當(dāng)我們創(chuàng)建一個(gè)新對(duì)象時(shí),它的引用計(jì)數(shù)為1 當(dāng)有一個(gè)新的指針指向這個(gè)對(duì)象時(shí),我們將引用計(jì)數(shù)加1 當(dāng)某個(gè)指針不再指向這個(gè)對(duì)象時(shí),我...
@autoreleasepool 原理 ==@autoreleasepool== 實(shí)現(xiàn)原理:以棧為節(jié)點(diǎn)通過(guò)雙向鏈表形式組合而成的 編譯期 @au...
==1.@synchronize== 用于單例創(chuàng)建,使多線程下保證唯一對(duì)象 代碼塊可用于數(shù)組中唯一線程讀寫(xiě) ==2.atomic== 是對(duì)象的屬...
MRC 底層實(shí)現(xiàn)是否一樣 自己生成的對(duì)象,自己持有 在iOS內(nèi)存管理中有四個(gè)關(guān)鍵字,alloc、new、copy、mutableCopy,自身使...
==@property== 我們聲明一個(gè)屬性str的時(shí)候(@property),在編譯階段,編譯器會(huì)自動(dòng)給對(duì)象添加一個(gè)實(shí)例變量_str和它的存取...
==程序在內(nèi)存空間分布為:== 由低向高 各個(gè)地址塊 不連續(xù) 高地址 棧區(qū)(stack):由編譯器自動(dòng)分配釋放 ,存放函數(shù)的參數(shù)值,局部變量的值...