? ? ? 一直用oc這門語言編程瞎饲,也一直在慢慢深入的了解這門語言董瞻。這就有一個(gè)始終繞不開的概念runtime。我想對(duì)于很多iOS開發(fā)者來說或多或少都會(huì)了解一些runtime相關(guān)的知識(shí),下面讓我們系統(tǒng)的看一下runtime到底是何方神圣,他到底強(qiáng)大在什么地方滞欠。不多嗶嗶上干貨~~~~
? ? ? 再多嗶嗶幾句,runtime在我們開發(fā)之中類似于核武器于一個(gè)國(guó)家一樣孕暇,平時(shí)只能拿來嚇唬嚇唬人仑撞,沒什么卵用。但是一旦有他的用武之地妖滔,他就威力無窮。這種在開發(fā)中不是很常用的東西你很多時(shí)候貌似真的懂了桶良,但是又好像沒有摸到門道,所以一下的內(nèi)容有可能冗長(zhǎng)而晦澀曲秉。
Introduction
首先上官方文檔的一段話。
objective - c語言盡可能將許多決定從編譯和鏈接推遲到運(yùn)行時(shí)承二。只要有可能,它會(huì)動(dòng)態(tài)的執(zhí)行亥鸠。這意味著他需要的不僅僅是一個(gè)編譯器,也需要一個(gè)運(yùn)行時(shí)系統(tǒng)來執(zhí)行編譯后的代碼。運(yùn)行時(shí)系統(tǒng)作為一種objective - c語言的操作系統(tǒng);是他使這門語言發(fā)揮出了無窮色彩负蚊。本文著眼于NSObject類和objective - c程序如何與運(yùn)行時(shí)系統(tǒng)交互。特別是,它檢查在運(yùn)行時(shí)動(dòng)態(tài)加載新類的范例,并將消息轉(zhuǎn)發(fā)給其他對(duì)象鸵荠。它還提供了關(guān)于在您的程序正在運(yùn)行時(shí)如何找到對(duì)象的信息,伤极。你應(yīng)該閱讀本文檔了解objective - c運(yùn)行時(shí)系統(tǒng)是如何工作的,以及如何利用它。一般來說編寫cocoa應(yīng)用程序,你應(yīng)該沒有理由需要知道和理解這種材料熄赡。所以欲想成神必須逆天而行齿税。