1.Retain的實(shí)現(xiàn)機(jī)制。 2.Release的實(shí)現(xiàn)機(jī)制。 二者的實(shí)現(xiàn)機(jī)制類似,概括講就是通過(guò)第一層 hash 算法,找到 指針變量 所對(duì)應(yīng)的...
App啟動(dòng)后,蘋果在主線程 RunLoop 里注冊(cè)了兩個(gè) Observer,其回調(diào)都是 _wrapRunLoopWithAutoreleaseP...
@dynamic 意味著編譯器不會(huì)幫助我們自動(dòng)合成 setter 和 getter 方法。我們需要手動(dòng)實(shí)現(xiàn)、這里就涉及到 Runtime 的動(dòng)態(tài)...
深拷貝內(nèi)存拷貝 淺拷貝指針拷貝 淺拷貝 深拷貝 集合的淺復(fù)制 (shallow copy) 集合的淺復(fù)制有非常多種方法。當(dāng)你進(jìn)行淺復(fù)制時(shí),會(huì)向原...
棧區(qū)(stack):由編譯器自動(dòng)分配釋放 ,存放函數(shù)的參數(shù)值,局部變量的值等。其 操作方式類似于數(shù)據(jù)結(jié)構(gòu)中的棧。 堆區(qū)(heap):一般由程序員...
MRC @property (atomic,readWrite,retain) UIView *view; ARC @property (ato...
懸垂指針 指針指向的內(nèi)存已經(jīng)被釋放了,但是指針還存在,這就是一個(gè) 懸垂指針 或者說(shuō) 迷途指針 野指針 沒(méi)有進(jìn)行初始化的指針,其實(shí)都是 野指針 轉(zhuǎn)...
會(huì) ,為了延長(zhǎng)返回對(duì)象的生命周期,給其他使用者留足調(diào)用的時(shí)間 轉(zhuǎn)自:https://github.com/liberalisman/iOS-In...
主要是指 weak 關(guān)鍵字。weak 修飾的變量能夠在引用計(jì)數(shù)為0 時(shí)被自動(dòng)設(shè)置成 nil,顯然是有運(yùn)行時(shí)邏輯在工作的。 為了保證向后兼容性,A...