摘要: 在前文 深入淺出 Cocoa 之 Framework 中講解了 Framework,接下來講解 plugin。如果你對 Framework 還不太熟悉的話,請閱讀那篇文中,在本例中使用到了 framework,并在本文中沒有詳細講述其創(chuàng)建和使用過程。
為什么要引入插件?
我們知道編譯程序時,會連接相關(guān) framework,通常我們所連接的框架是 Foundation 和 Application 框架。當(dāng)程序啟動運行時,每個被連接到的 framework 都會被加載到該程序的 objc 運行時環(huán)境中。如果我們想向正在運行的程序加載新的 framework,那該怎么辦呢?答案之一就是使用 plugin 機制。cocoa 的 plugin 機制通常由 NSBundle 類來實現(xiàn),而實現(xiàn)動態(tài)加載的功能由函數(shù) objc_addClass 來完成。一般我們無需與 objc_addClass 這個函數(shù)打交道,我們使用 NSBundle 來完成絕大部分與 plugin 相關(guān)的工作。
plugin 機制能夠讓我們開發(fā)出高度模塊化,可定制以及可擴展的應(yīng)用程序,并
閱讀全文