Objective c NSString';s initWithContentsOfFile无法加载任何大于40kb的文件,原因何在?解决方案是什么?

Objective c NSString';s initWithContentsOfFile无法加载任何大于40kb的文件,原因何在?解决方案是什么?,objective-c,ios,nsstring,initwithcontentsoffile,Objective C,Ios,Nsstring,Initwithcontentsoffile,我想将一个文件加载到NSString变量中,并使用NSString的initWithContentsOfFile来执行此操作。但是,任何大于40kb的文件,该方法都会失败,并将nil返回到我的变量。以下是我正在使用的代码: NSString *fileContents; fileContents = [[NSString alloc] initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil]; 我猜

我想将一个文件加载到NSString变量中,并使用NSString的
initWithContentsOfFile
来执行此操作。但是,任何大于40kb的文件,该方法都会失败,并将nil返回到我的变量。以下是我正在使用的代码:

NSString *fileContents;    
fileContents = [[NSString alloc] initWithContentsOfFile:filePath encoding:NSUTF8StringEncoding error:nil];

我猜它是因为内存不足而失败的,但它肯定能处理40kb大小的文件

在打印错误并发现我收到了Cocoa错误代码261后,我很快就能通过快速的Google发现我的问题是NSStringEncoding参数导致了问题。我已从NSUTF8StringEncoding更改为NSASCIIStringEncoding,问题已得到解决。

我建议为错误参数提供NSError指针的地址,然后在调用该方法后打印出错误。在这个问题上添加任何错误。谢谢,这听起来可能有点愚蠢,但我在知道如何打印错误时遇到了麻烦,因为我不知道您必须为它提供NSError指针的地址,我只是尝试为它提供NSError变量!非常感谢,由于能够打印错误,我能够更正问题。因为我在7小时内无法发布我的答案,这是一条评论:在打印错误并发现我收到了Cocoa错误代码261后,我很快通过谷歌发现我的问题是NSStringEncoding参数导致了问题。我从
NSUTF8StringEncoding
更改为
NSASCIIStringEncoding
,我的问题得到了解决。