iOS面試題(每日一更)2020 6 4

2021-10-06 20:14:11 字數 1002 閱讀 3248

每建立乙個池子,會在首部建立乙個 哨兵 物件,作為標記

最外層池子的頂端會有乙個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...