我正在开发一个加载可以搜索的 plist 文件的引用应用程序。
plist 文件大约 6kb,有大约 600 个条目。
我一直在使用模拟器,一切正常,但是当我将它加载到设备上时,没有任何数据存在。只是一张空 table 。
我认为该文件可能太大了,因为我可以加载一个包含 20 个条目的 plist,并且它可以在设备上正常加载。
如果文件太大,整个应用程序不会崩溃吗?
有没有人有什么建议?
这就是我加载 plist 文件的方式
NSString* myFile = [[NSBundle mainBundle] pathForResource:@"myPlistFile" ofType:@"plist"];
array = [[NSMutableArray alloc] initWithContentsOfFile:myFile];
最佳答案
在我看来,要么您的 plist 甚至根本没有被复制到设备上,要么您正在使用区分大小写的文件命名。
首先查看文件是否存在:
NSString *myFilePath = [[NSBundle mainBundle] pathForResource:@"myPlistFile" ofType:@"plist"];
BOOL exists = [[NSFileManager defaultManager] fileExistsAtPath:myFilePath];
检查该 bool 值(使用调试器或通过日志记录,无论哪种方式)。如果文件存在,那么我怀疑您在尝试访问文件名时使用了错误的大小写。与模拟器不同,iOS 设备上的文件名区分大小写。例如,假设您的 plist 被命名为
myAwesomeStuff.plist
.如果您尝试访问 myawesomestuff.plist
在模拟器上,它会工作得很好。在设备上不是这样。确保您在文件名上使用了正确的大小写。
关于ios - plist 文件会不会太大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10199793/