Runtime 知識小總結

什么是Runtime?

? ? ?RunTime簡稱運行時。就是系統(tǒng)在運行的時候的一些機制,其中最主要的是消息機制。對于C語言,函數(shù)的調用在編譯的時候會決定調用哪個函數(shù)(C語言的函數(shù)調用請看這里)。編譯完成之后直接順序執(zhí)行,無任何二義性。OC的函數(shù)調用成為消息發(fā)送。屬于動態(tài)調用過程。在編譯的時候并不能決定真正調用哪個函數(shù)(事實證明,在編譯階段,OC可以調用任何函數(shù),即使這個函數(shù)并未實現(xiàn),只要申明過就不會報錯。而C語言在編譯階段就會報錯)。只有在真正運行的時候才會根據(jù)函數(shù)的名稱找到對應的函數(shù)來調用.

Runtime的用在什么地方,怎么用?

? ? ? 遍歷一個類的所有成員變量(屬性)\所有方法

? ? ? 獲取一個類中所有的屬性,屬性類型,并修改屬性值

?? ? 獲取一個類中所有property屬性

? ?利用運行時歸檔和解檔

?? 動態(tài)添加方法,如果一個類方法非常多,加載類到內(nèi)存的時候也比較耗費資源,需要給每個方法生成映射表,可以使用動態(tài)給某個類,添加方法解決。

? ?給分類添加屬性.category可以擴展類的方法,但是不能擴張類的屬性,通過runtime可以實現(xiàn)

附上demo鏈接: ?github.com/StarRain-L/RuntimeDemo

不足之處,歡迎指正!!!!

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

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

  • 這篇文章完全是基于南峰子老師博客的轉載 這篇文章完全是基于南峰子老師博客的轉載 這篇文章完全是基于南峰子老師博客的...
    西木閱讀 30,892評論 33 466
  • 對于從事 iOS 開發(fā)人員來說,所有的人都會答出【runtime 是運行時】什么情況下用runtime?大部分人能...
    夢夜繁星閱讀 3,812評論 7 64
  • Runtime是什么 Runtime 又叫運行時,是一套底層的 C 語言 API,其為 iOS 內(nèi)部的核心之一,我...
    SuAdrenine閱讀 981評論 0 3
  • 轉至元數(shù)據(jù)結尾創(chuàng)建: 董瀟偉,最新修改于: 十二月 23, 2016 轉至元數(shù)據(jù)起始第一章:isa和Class一....
    40c0490e5268閱讀 2,058評論 0 9
  • 對不起,我只能通過文字來緬懷你。 8天了,漫天覆蓋所有關于他的報道,就連宿舍、班級演講、下課八卦時,我都聽到過他的...
    肖夢閱讀 707評論 8 2

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