我在C#和Java中都有一个库,它使用一些XML文件来生成很多对象。我使用它们,所以我不必用两种语言对它进行硬编码,并且可以轻松更新数据。
在C#和Java中,我都可以将这些文件嵌入到DLL / Package中。
如何在Objective-C中继续做这样的事情?
答案 0 :(得分:6)
这不是一个语言级别的问题,它是一个平台打包级别的问题。在Mac OS X和iOS上,通常您将资源文件添加到项目中,然后从NSBundle
获取文件的路径:
NSString *path = [[NSBundle mainBundle] pathForResource:@"file" ofType:@"xml"];
Objective-C中的库称为框架。与应用程序一样,它们也是Mac OS X上的捆绑包,而不是mainBundle
您可能希望使用bundleForClass:
。
iOS不支持框架,只支持静态库,因此您无法将资源文件包含在该平台上的库中。必须将它们直接添加到项目中。