1

我正在开发一个加载可以搜索的 plist 文件的参考应用程序。

plist 文件大约 6kb,有大约 600 个条目。

我一直在使用模拟器,一切正常,但是当我将它加载到设备上时,没有任何数据存在。只是一张空桌子。

我认为该文件可能太大了,因为我可以加载一个包含 20 个条目的 plist,并且它可以在设备上正常加载。

如果文件太大,整个应用程序不会崩溃吗?

有没有人有什么建议?

这就是我加载 plist 文件的方式

NSString* myFile = [[NSBundle mainBundle] pathForResource:@"myPlistFile" ofType:@"plist"];
array = [[NSMutableArray alloc] initWithContentsOfFile:myFile];
4

1 回答 1

3

在我看来,您的 plist 甚至根本没有被复制到设备上,或者您正在使用区分大小写的文件命名。

首先查看文件是否存在:

NSString *myFilePath = [[NSBundle mainBundle] pathForResource:@"myPlistFile" ofType:@"plist"];
BOOL exists = [[NSFileManager defaultManager] fileExistsAtPath:myFilePath];

检查该布尔值(使用调试器或通过日志记录,无论哪种方式)。如果文件存在,那么我怀疑您在尝试访问文件名时使用了错误的大小写。与模拟器不同,iOS 设备上的文件名区分大小写。例如,假设您的 plist 名为myAwesomeStuff.plist. 如果您尝试myawesomestuff.plist在模拟器上访问,它会工作得很好。在设备上不是这样。确保您在文件名上使用了正确的大小写。

于 2012-04-17T22:02:24.973 回答