oc runtime 其實是乙個 runtime 庫,基本上用 c 和彙編寫的,這個庫使得 c 語言有了物件導向的能力。
這個庫做的事前就是載入類的資訊,進行方法的分發和**之類的。
oc是一種面向runtime(執行時)的語言,也就是說,它會盡可能地把**執行的決策從編譯和鏈結的時候,推遲到執行時。
這給程式設計師寫**帶來很大的靈活性,比如說你可以把訊息**給你想要的物件,或者隨意交換乙個方法的實現之類的。
這就要求runtime能檢測乙個物件是否能對乙個方法進行響應,然後再把這個方法分發到對應的物件去。
我們拿 c 來跟 objc 對比一下。在 c 語言裡面,一切從 main 函式開始,程式設計師寫**的時候是自上而下地,乙個 c 的結構體或者說類吧,是不能把方法呼叫**給其他物件的。這個問題其實淺涉及到兩個概念,執行時和多型。
簡單來說,執行時機制使我們直到執行時才去決定乙個物件的類別,以及呼叫該類別物件指定方法。
多型:不同物件以自己的方式響應相同的訊息的能力叫做多型。
也就是不同的物件以自己的方式響應了相同的訊息(響應了eat這個選擇器。因此也可以說,執行時機制是多型的基礎。比如kvo中我們就用了。
日誌分析讓公升級一目了然
隨著網路技術與網路安全的發展,越來越多的企業開始通過網路版防毒軟體打造企業內網的安全系統。雖然企業網路版防毒軟體在部署 更新及管理等方面都有很不錯的表現,但是就筆者使用經驗來說,在更新源的管理方面或多或少都存在著不足。例如,管理者無法實現更詳細 更有效地針對更新源的過濾設定,一旦內網更新伺服器位址或...
一目了然的Jquery選擇器
jquery中的選擇器主要分為基本選擇器 層次選擇器 過濾選擇器 表單選擇器四種。下面主要用圖的實行來逐個介紹每一種選擇器所包含的內容 1.基本選擇器 與css選擇器類似,jquery的基本選擇器也包括id選擇器 類選擇器 標籤選擇器 群組選擇器 通配選擇器。不同的是css選擇器是給匹配的元素新增樣...
讓您的網路監控一目了然
概述 可能很多網管在維護網路時,可能遇到同樣的經歷,為了看看網路是否暢通,不得不每天對網路上的裝置ping上好多次,如果網路上的裝置只有幾台還好。如果較多,或者用製作成ping的指令碼程式定時去ping網路上的裝置,但是萬一遇到某一台裝置ping不通,難道還得去挨個去看看這個位址到是那個地方的什麼裝...