当相同的代码在模拟器和iPad上运行时,我在iPhone4S中收到一个nil字符串参数

当相同的代码在模拟器和iPad上运行时,我在iPhone4S中收到一个nil字符串参数,iphone,ios,objective-c,Iphone,Ios,Objective C,我有一个视图,根据变量集显示各种文本和图像。 同样的代码在模拟器和iPad上都可以正常工作,但在iPhone 4S上,我得到了以下信息: 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“*-[NSURL initFileURLWithPath:]:nil字符串参数” *第一次抛出调用堆栈: 文本文件拼写正确,并且在捆绑包中 这是我正在使用的代码,在程序的其他部分也使用过类似的代码,并且运行良好 NSString *filePath = [[NSBu

我有一个视图,根据变量集显示各种文本和图像。 同样的代码在模拟器和iPad上都可以正常工作,但在iPhone 4S上,我得到了以下信息: 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“*-[NSURL initFileURLWithPath:]:nil字符串参数” *第一次抛出调用堆栈: 文本文件拼写正确,并且在捆绑包中

这是我正在使用的代码,在程序的其他部分也使用过类似的代码,并且运行良好

NSString *filePath = [[NSBundle mainBundle] pathForResource:_textfot ofType:@"txt"];

NSString *plainText = [[NSString alloc] initWithContentsOfFile:filePath encoding:NSStringEncodingConversionAllowLossy error:&error];

_textView.text = plainText;
试试这个

NSString* filePath = [[NSBundle mainBundle] pathForResource:_textfot 
                                                 ofType:@"txt"];
NSString* plainText = [NSString stringWithContentsOfFile: filePath
                                             encoding:NSUTF8StringEncoding error:NULL];

_textView.text = plainText;

使用调试器。简而言之,在调用
initFileURLWithPath
时设置一个断点,并检查字符串。如果它是
nil
,则向上移动堆栈,直到您能够找出字符串为什么是
nil
。我们无法帮助您,因为您没有提出回答问题。可能是文件名不正确(由于区分大小写)。文件的捆绑包名称可以有任何大写或小写字母。它将在模拟器上工作,但在设备上,如果您要获取捆绑文件的路径,则必须使用文件的确切名称,因为它区分大小写。