iOS应用程序中的基本文件结构是什么?

时间:2011-04-08 04:40:40

标签: ios filesystems plist

我正在尝试使用

在我的应用程序中加载plist文件
NSBundle* bundle = [NSBundle mainBundle];
NSString* plistPath = [bundle pathForResource:@"CategoryData" ofType:@"plist"];
categoryProps = [[NSArray alloc] initWithContentsOfFile:plistPath];

但是categoryProps数组总是以0个对象结束。我已将CategoryData.plist文件放在我的项目中的“Supporting Files”目录下,但我无法弄清楚文件在编译的应用程序中的排列方式。

有人能指出我的文档描述应用程序的文件系统是如何布局的,以及如何确定文件在文件系统中的位置?

我忘了指出我使用的XCode 4没有为项目创建资源文件夹

2 个答案:

答案 0 :(得分:1)

您的加载代码代码应该用于在文件系统中查找文件。在一个项目中,我有:

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

我要做的是将plistPath记录到控制台或在调试器中检查它,然后导航到磁盘上的那个位置并确定plist是否最终在你认为的位置。

此外,在/ Users /<#Username#> / Library / Developer / Xcode / DerivedData /<#Unique Appname#> / Build / Products / Debug-iphonesimulator /< #Appname中找到您的应用程序包#> .app,右键单击它并选择“显示包内容”。确保您在自己认为应该的位置看到您的plist。

答案 1 :(得分:0)

您需要将plist文件放在Resources文件夹中。然后你就可以像这样加载和使用它们了

NSString *path = [[NSBundle mainBundle] bundlePath];
NSString *finalPath = [path stringByAppendingPathComponent:@"Info.plist"];
NSDictionary *plistData = [[NSDictionary dictionaryWithContentsOfFile:finalPath] retain];

UPD:在xcode4中,您必须将plist文件放在“Supporting Files”目录而不是“Resources”中。并尝试使用NSDictionary而不是NSArray