[Cocoa]深入淺出 Cocoa 之 Framework

來源:互聯網
上載者:User
[Cocoa]深入淺出 Cocoa 之 Framework羅朝輝(http://blog.csdn.net/kesalin/)CC許可,轉載請註明出處

Framework 簡介

Mac OS X 擴充了 framework 的功能,讓我們能夠利用它來共用代碼和資源。framework 在概念上有點像 Window 下的庫,但是比庫更加強大,通過 framework 我們可以共用所有形式的資源,如動態共用程式庫,nib 檔,映像字元資源以及文檔等。系統會在需要的時候將 framework 載入記憶體中,多個應用程式可以同時使用同一個 framework,而記憶體中的拷貝只有一份。一個 framework 同時也是一個 bundle,我們可以在 finder 裡瀏覽其內容,也可以在代碼中通過 NSBundle 訪問它。利用 framework 我們可以實現動態或靜態庫的功能。與動態/靜態庫相比,framework 有如下優勢:

第一,framework 能將不同類型的資源打包在一起,使之易於安裝,卸載與定位;
第二,framework 能夠進行版本管理,這使得 framework 能不斷更新並向後相容;
第三,在同一時間,即使有多個應用程式使用同一 framework,但在記憶體中只有一份 framework 唯讀資源的拷貝,這減少了對記憶體的佔用

Framework 的結構

下面是一個帶有A,B兩個版本和一個 resources 目錄的 framework 結構,並設定目前的版本為 B:


結合上面的結構,下面我們來看本例中 ExampleFramework 的結構圖:

Framework 存放位置
在 Mac OS 中有三個層級的位置來存放 framework。一般我們自己編寫的 framework 都應該是應用程式層級。
1,系統級,/Library/Frameworks,放置到該層級,這需要管理員權限,整個系統都可以共用使用該層級的 framework;
2,使用者級,/Users/使用者名稱/Library/Frameworks,擁有使用者權限的應用程式都可以共用使用該層級的 framework;
3,應用程式級。

在應用程式中內嵌 Framework

1,建立 Framework
建立一個名為 FrameworkDemo 的 Cocoa application 工程,然後選中項目名,向其中添加名為 ExampleFramework  的 Cocoa Framework。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.