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