2010-07-30 34 views
27

我想問一個關於在iPhone應用程序上的目標C的問題。我在蘋果開發者網站上閱讀了一些示例程序,發現幾乎所有的應用程序都包含一個名爲'NSBundle'和'mainBundle'的單詞,我真的不明白這個詞的意思。任何人都可以告訴我這件事嗎?非常感謝你。目標C中的NSBundle和mainBundle是什麼?

+3

在developer.apple.com上搜索NSBundle – 2010-07-30 06:36:18

+0

它將清除關於包的幾乎所有內容。 https://developer.apple.com/library/ios/documentation/Cocoa/Reference/Foundation/Classes/NSBundle_Class/ – RATHI 2016-04-19 15:17:34

回答

27

軟件包是用於在Mac OS X上打包軟件的結構。應用程序,框架和插件都是不同種類的軟件包。如果您願意,包可能包含可執行代碼,資源,頭文件和其他東西(包括其他包)。

捆綁被實現爲具有定義結構的目錄樹。應用程序,框架和插件在樹的結構上各有各自的變體。但是,對於Finder,捆綁包看起來像單個文件。

主包簡單說就是正在運行的應用程序包。因此,例如,Apple郵件程序的主包是/Applications/Mail.app。

4

假設我們的代碼是:

NSString *myFile=[[NSBundle mainBundle]pathForResource:@"subjects" ofType:@"plist"]; 

我們在Xcode(文件>新建>新建文件>的iOS>資源>屬性列表)創建subject.plist並將其複製到我們的支持文件夾中。

當我們不知道它是什麼時,這真是一種在iOS設備上安裝文件系統的方法。這是獲取我們的subject.plist文件的一種方式,這是我們的應用程序的內部軟件包或內部軟件包的一部分。我們無法直接訪問iOS設備上的文件系統,因此這是我們掌握自己資產的方式。

相關問題