从plist文件中读取字符串

时间:2014-05-12 22:38:18

标签: ios objective-c

我在此图像enter image description here中创建了一个jobs.plist文件,该文件保存在我的xCode项目的Supporting Files目录中

基于this SO answer,在我的viewController的viewDidLoad方法中,我将此代码添加到i)读取文件ii)将文件内容存储在数组中(self.jobs),然后iii )从数组中获取随机作业

NSString *path = [[NSBundle mainBundle] pathForResource:@"jobs" ofType:@"plist"];
NSLog(@"path %@", path);
self.jobs = [NSArray arrayWithContentsOfFile:path];
NSLog(@"jobs %lu", [self.jobs count]);
NSUInteger index = arc4random() % [self.jobs count];
NSLog(@"random job %@", [self.jobs objectAtIndex: index]);

但是,当我运行代码时,第二个日志语句显示有0个作业(不是我预期的6个),并且应用程序在第二行到最后一行冻结时出现错误

Thread 1:EXC_ARITHMETIC(code=exc_1386, div, subcode=0x)

由于在plist文件中读取代码是相同的,我假设我的plist犯了错误。你能告诉我我做错了吗?

1 个答案:

答案 0 :(得分:2)

问题在于您尝试将plist作为数组读取,但它被定义为字典。

更新你的plist,使root的类型为array