Objective-C 語(yǔ)言是一門動(dòng)態(tài)語(yǔ)言,編譯器不需要關(guān)心接受消息的對(duì)象是何種類型,接收消息的對(duì)象問(wèn)題也要在運(yùn)行時(shí)處理。
pragramming 層面的 runtime 主要體現(xiàn)在以下幾個(gè)方面:
<ul>
<li>關(guān)聯(lián)對(duì)象 Associated Objects</li>
<li>消息發(fā)送 Messaging</li>
<li>消息轉(zhuǎn)發(fā) Message Forwarding</li>
<li>方法調(diào)配 Method Swizzling</li>
<li>“類對(duì)象” NSProxy Foundation | Apple Developer Documentation</li>
<li>KVC、KVO About Key-Value Coding</li>
</ul>
了解了Runtime相關(guān)基礎(chǔ)知識(shí)以及一些常見(jiàn)用法后,聊一下看到的Runtime一些實(shí)際的應(yīng)用場(chǎng)景:
JSPatch替換已有的OC方法實(shí)行
Runtime自定義控制器POP手勢(shì)動(dòng)畫
萬(wàn)能控制器跳轉(zhuǎn)
runtime 一鍵改變字體
runtime 精準(zhǔn)獲取電池電量