2014-06-06 56 views
-1
NSString *levelPlist = [[NSBundle mainBundle]pathForResource:[NSString stringWithFormat:@"Level%d", level] ofType:@"plist"]; 
NSDictionary *levelData = [NSDictionary dictionaryWithContentsOfFile:levelPlist]; 

当我加载这样的plist时,levelPlist只是一个(null)stringWithFormat语法错误?This loading plist is wrong?

+0

我们怎么能知道'Documents'文件夹中文件的当前名称... oopsy-daisy ...如果文件在您的Documents文件夹中,那不是捆绑包的一部分,所以路径(或URL)将始终来自'mainBundle'''nil'。 – holex

回答

0

一如以往一样,在调试时要解决问题,首先获取文件名,然后加载文件内容。

然后NSLog()文件名并验证具有该名称的文件是否直接存在于应用程序包中。通过实际查看应用程序文件来实现这一点。

安全赌注:具有格式化名称和扩展名的文件不直接存在于应用程序包中。

可能性:

  1. 您要读取的文件存在于应用程序的文档目录。
  2. 文件名不是你的想法。
  3. 有一个案例区别,iOS有一个区分大小写的文件系统,与OSX不同。
+0

谢谢,我解决了它。问题在于'级别'整数。 'level'的值是01,但编译器明白它不是01. 所以我的路径是(null)。 – Penguin

相关问题