iOS面試題:iOS 的動態(tài)性

iOS 的動態(tài)性來自四個方面:動態(tài)類型、動態(tài)綁定、動態(tài)載入、SEL
類型
①、動態(tài)類型<弱類型>(id):在代碼的運行階段判斷代碼的類型,
使用 id 類型可以讓應用在“運行時”使用任何類型來替換。動態(tài)類
型讓程序更加靈活,但是會使數(shù)據(jù)的統(tǒng)一性降低和代碼的可讀性。我
們常用靜態(tài)類型<強類型>(如 NSString) ,使用靜態(tài)類型編譯器可以完
全分析你的代碼,這讓代碼的性能和可預知性更高。

②、動態(tài)綁定:讓代碼在運行時判斷需要調用什么方法,而不是在編
譯時。 動態(tài)類型和動態(tài)綁定使得選擇哪個接收者已經(jīng)調用什么方法
都放到運行時去完成。

③、動態(tài)載入:應用程序可以根據(jù)需要加載可執(zhí)行代碼以及資源,而
不是在啟動時就加載所有資源。

④、SEL 類型 iOS 在編譯的時候會根據(jù)方法的名字(包括參數(shù)序列),
生成一個用來區(qū)分這個方法的唯一的 ID,這個 ID 是 SEL 類型的,SEL
的本質就是類方法的編號[函數(shù)地址]。 (類似 C 語言里面的函數(shù)指針,
但是 OC 的類不能直接使用函數(shù)指針,這樣只能做一個@selector 語
法來取。注意:@selector 是查找當前類(含子類)的方法。)


更多:iOS面試題合集

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • 轉至元數(shù)據(jù)結尾創(chuàng)建: 董瀟偉,最新修改于: 十二月 23, 2016 轉至元數(shù)據(jù)起始第一章:isa和Class一....
    40c0490e5268閱讀 2,068評論 0 9
  • 1、iOS的動態(tài)性來自三個方面:動態(tài)類型、動態(tài)綁定、動態(tài)載入、SEL類型 1、動態(tài)類型<弱類型>(id):在代碼的...
    丶逐漸閱讀 1,089評論 0 3
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,666評論 1 32
  • 編譯時與運行時 編譯時: 即編譯器對語言的編譯階段,編譯時只是對語言進行最基本的檢查報錯,包括詞法分析、語法分析等...
    學呀學呀總得學會了吧閱讀 1,024評論 0 5
  • 我們常常會聽說 Objective-C 是一門動態(tài)語言,那么這個「動態(tài)」表現(xiàn)在哪呢?我想最主要的表現(xiàn)就是 Obje...
    Ethan_Struggle閱讀 2,339評論 0 7

友情鏈接更多精彩內(nèi)容