来自plist iOS的数组

时间:2013-11-17 03:39:33

标签: ios null nsarray plist

我正在尝试访问我试图从plist创建的数组。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory =  [paths objectAtIndex:0];
    NSString *plistPath = [documentsDirectory stringByAppendingPathComponent:@"methodologyQuestions.plist"];
    NSMutableArray *myArray = [[[NSMutableArray alloc] initWithContentsOfFile:plistPath]mutableCopy];
    NSLog(@"%@", [myArray objectAtIndex:0]);

以下是我的plist methodologyQuestions.plist的快照 snap http://i40.tinypic.com/4rarzl.png

问题是当我记录数组时它是null。我做错了什么?

3 个答案:

答案 0 :(得分:1)

问题是你正在读错路。如果这是与您的应用程序捆绑在一起的文件,那么它不在Documents文件夹中,它位于应用程序的资源包中。

路径是:

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

答案 1 :(得分:0)

试试这个,

NSDictionary *dictionary = [NSDictionary dictionaryWithContentsOfFile:plistPath];
NSArray * myArray =dictionary(@"Root");

答案 2 :(得分:0)

plist在bundle中,而不是在documents目录中。

NSString *file = [[NSBundle mainBundle] pathForResource:@"methodologyQuestions" ofType:@"plist"];
    NSArray * arr = [NSArray arrayWithContentsOfFile:file];
    NSLog(@"%i", arr.count);

如果我知道自己在做什么,这应该是显而易见的,但唉,希望这将有助于将来试图访问他们的人的人。