每建立乙個池子,會在首部建立乙個 哨兵 物件,作為標記
最外層池子的頂端會有乙個next指標。當鍊表容量滿了,就會在鍊錶的頂端,並指向下一張表。
在沒有手加autorelease pool的情況下,autorelease物件是在當前的runloop迭代結束時釋放的,而它能夠釋放的原因是系統在每個runloop迭代中都加入了自動釋放池push和pop
1.當引數obj為object例項物件
object_getclass(obj)與[obj class]輸出結果一直,均獲得isa指標,即指向類物件的指標。
2.當引數obj為class類物件
object_getclass(obj)返回類物件中的isa指標,即指向元類物件的指標;[obj class]返回的則是其本身。
3.當引數obj為metaclass類物件
object_getclass(obj)返回元類物件中的isa指標,因為元類物件的isa指標指向根類,所有返回的是根類物件的位址指標;[obj class]返回的則是其本身。
4.obj為rootclass類物件
object_getclass(obj)返回根類物件中的isa指標,因為跟類物件的isa指標指向rootclass『s metaclass(根元類),即返回的是根元類的位址指標;[obj class]返回的則是其本身。
總結:經上面初步的探索得知,object_getclass(obj)返回的是obj中的isa指標;而[obj class]則分兩種情況:一是當obj為例項物件時,[obj class]中class是例項方法:- (class)class,返回的obj物件中的isa指標;二是當obj為類物件(包括元類和根類以及根元類)時,呼叫的是類方法:+ (class)class,返回的結果為其本身。
shouldrasterize(光柵化)
masks(遮罩)
shadows(陰影)
edge antialiasing(抗鋸齒)
group opacity(不透明)
複雜形狀設定圓角等
漸變
iOS面試題 一
圖中包含的設計模式 delegate 模式 notification kvo 觀察者模式 target action 命令模式 mvc 中介者模式 內建了策略模式 裝置並不在開發者賬號裡 有 些閃退,像ios10的時候,要我們加的那個訪問許可權,如相機的訪問,就是在plist 檔案 面加上.清 快取...
iOS 演算法面試題(一)
1 不用中間變數,用兩種方法交換a和b的值 1.中間變數 void swap int a,int b 2.加法 void swap int a,int b 3.異或 相同為0,不同為1.可以理解為不進製加法 void swap int a,int b 2 求最大公約數 1.直接遍曆法 int max...
iOS面試題總結(一)
1.為什麼不能給類別category 新增成員變數?extension呢?2.iskindofclass 和 ismemberofclas區別?3.weak的實現原理 4.理解 self class 與 super class 5.ios中的記憶體管理機制 6.block如何訪問外部變數?下劃線 b...