我正在尝试访问我试图从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。我做错了什么?
答案 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);
如果我知道自己在做什么,这应该是显而易见的,但唉,希望这将有助于将来试图访问他们的人的人。