2010-08-03 73 views
3

我在C#和Java中都有一個庫,它們使用一些XML文件來生成很多對象。我使用它們,因此我不必使用兩種語言對其進行硬編碼,並且可以輕鬆更新數據。目標C中的嵌入式資源?

在C#和Java中,我都可以將這些文件嵌入到DLL/Package中。

我該如何着手在Objective-C中做這樣的事情?

回答

6

這不是一個語言級別的問題,這是一個平臺包裝級別的問題。在Objective-C

NSString *path = [[NSBundle mainBundle] pathForResource:@"file" ofType:@"xml"]; 

庫被稱爲框架:在Mac OS X和iOS,通常你的資源文件添加到您的項目,然後從NSBundle獲取文件的路徑。與應用程序一樣,它們也捆綁在Mac OS X上,而不是mainBundle,您可能需要使用bundleForClass:

iOS不支持框架,只支持靜態庫,所以您將無法將資源文件與您的庫一起包含在該平臺上。它們必須直接添加到項目中。

+0

因此,如果我理解iOS應用程序的正確性,我需要添加該庫並單獨將該XML文件添加到iOS項目中? – Peterdk 2010-08-05 09:17:02

+0

是的,這是正確的。 – 2010-08-05 14:02:17

+0

我決定將xml數據作爲一個很大的靜態字符串嵌入到我的objective-c類中,所以它們對我來說是可移植的。 – Peterdk 2011-03-09 15:32:14