1 kvo 內部實現原理
a kvo 是基於runtime 機制實現的
b 當某個類的物件第一次被觀察時 系統就會在執行期動態的建立該類的乙個派生類 當這個派生類中重寫基類中任何被觀察的setterf
setter方法 實現真正的通知機制 person ---》nskvonotifying_person)
2 是否可以把比較耗時的操作放在nsnotifaction中
如果在非同步執行緒fade通知 那麼可以執行比較耗時的操作
如果在主線程發的通知 那麼就不可以執行比較耗時的操作
3 foundation 物件和corefoundation 物件有什麼區別
1 foundation 物件時oc 的 corefoundation 物件是c物件
2 資料型別之間的轉換
arc arc __bridge _retain __bridge _transfer
非arc __bridge
4 不用中間變數 用兩種方法 交換a 和b 的值
a = a+b
b = a-b
a = a-b
或者a = a^ b
b = a^b
a = a ^b
5 簡單描述下對單例模式設計的理解
節省記憶體資源 乙個應用就乙個物件
6 什麼是動態 舉例說明
在程式執行過程中才執行的操作
7 runtime 實現的機制是怎麼用的 一般用於 幹嘛 你還記得你需哦使用的相關的標頭檔案 或者某些方法的名稱嗎
執行時機制 runtime 庫裡面包含了根類成員變數 方法相關的api 比如獲取類裡面的所有成員變數 動態改變類的實現方法
為類動態新增 新的方法等 需要匯入 《objc/message.h》
1> runtime 執行時機制 他是一套c語言程式庫
2 實際上我們編寫的所有的oc** 最終都成了runtime 庫的東西 比如類轉成了runtime庫裡面的結構體資料型別
方法轉成了runtime 庫裡面的c語言程式 平時掉方法 轉成了 objc_message send 函式
3 因此 可以說runtime 是oc的底層事項 是oc的幕後執行者
4 有了runtime 庫 能做什麼事情呢 runtime 庫裡面包含了 根類成員變數方法 方法相關的api 比如獲取類裡面的所有成員變數
動態改變類的方法實現 為類動態新增新的方法
5 因此 有了runtime 想怎麼該就怎麼改
8.是否使用
core text
或者core image
等?如果使用過,請談談你使用
coretext
或者core image
的體驗。
coretext
• 隨意修改文字的樣式
• **混排(純c語言)
• 國外:niumb
core image(濾鏡處理)
* 能調節的各種屬性(對比度, 色溫, 色差等) 9
.nsnotification
和kvo
的區別和用法是什麼?什麼時候應該使用通知,什麼時候應該使用
kvo,它們的實現上有什麼區別嗎?如果用
protocol
和delegate
(或者delegate
的array
)來實現類似的功能可能嗎?如果可能,會有什麼潛在的問題?如果不能,為什麼?(雖然
protocol
和delegate
這種東西面試已經麵爛了…)
通知比較靈活(1個通知能被多個物件接收, 1個物件能接收多個通知),
**比較規範,但是**多(預設是1對1)
kvo效能不好(底層會動態產生新的類),只能監聽某個物件屬性的改變, 不推薦使用(1個物件的屬效能被多個物件監聽, 1個物件能監聽多個物件的其他屬性)
更詳細參考:
block
內部的實現原理
objective-c是對c語言的擴充套件,block的實現是基於指標和函式指標
11.
有兩個陣列
a,b,大小都為
n,陣列元素的值任意,無序;
要求:通過交換
a,b中的元素,使陣列
a元素的和與陣列
b元素的和之間的差最小
pytorch中contiguous 的理解
功能 將tensor的記憶體變為連續的。有些tensor並不是占用一整塊記憶體,而是由不同的資料塊組成,而tensor的view 操作依賴於記憶體是整塊的,這時只需要執行contiguous 這個函式,把tensor變成在記憶體中連續分布的形式。注 在pytorch的最新版本0.4版本中,增加了to...
angular中transclude的理解
今天被這個transclude搞糊塗了,弄了半天,才知道原來使用起來很簡單。很煩惱為社麼書中的對於這個的介紹這麼晦澀難懂。直到看到了這篇文章,才讓我弄清楚了。一 transclude介紹 transclude是angular中自定義指令中的乙個引數。中文就是嵌入的意思。也就是說通過這個引數設定,可以...
對bibernate中inverse的理解
首先明確一點,inverse 控制反轉 屬性設定的意義只存在一對多,多對多這些含有集合的對應關係中 雙向關聯 就拿dept,emp例子來說吧!dept物件中有emp物件的引用 setemps emp物件中有dept物件的引用 也就是雙向關聯 按照資料建表的三大正規化,為了減少冗餘資料,emp表中必定...