0

就 NSString 而言,是否有限制?我正在使用以下代码行来读取文件的内容,edit.txtsaveString无法包含我的.txt文件的所有内容。

NSString *savedDir = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];

//NSString *savedeDir = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];

NSString *saveFilePath = [savedDir stringByAppendingPathComponent:@"Root"];
saveFilePath = [saveFilePath stringByAppendingPathComponent:savedName];
saveFilePath = [saveFilePath stringByAppendingPathComponent:@"edit.txt"];
NSString *saveString = [NSString stringWithContentsOfFile:saveFilePath encoding:NSUTF8StringEncoding error:nil]; 
NSLog(@"saveString is :: %@ savedSpaceName : %@ savefilepath : %@ ", saveString, savedName, saveFilePath);

NSString 的大小有问题吗?我无法弄清楚。有人可以为我提供解释或帮助我弄清楚。谢谢并恭祝安康。

4

1 回答 1

2

我假设 NSString 的硬限制是NSUIntegerMax字符,因为 NSString 的索引和大小相关的方法返回一个 NSUInteger。由于当前能够运行的所有设备iOS都是 32 位的,这意味着NSUIntegerMax2^32 - 1 并且NSString可以容纳超过 42 亿个字符。

据我所知,实际限制要小得多——尤其是在 iOS 设备上,在达到 NSString 中的任何硬限制之前很久就会耗尽内存。

所以你的问题是别的!

于 2012-07-03T11:18:58.233 回答