2012-07-03 2 views
0

Есть ли предел в отношении NSString? Я использую следующие строки кода для чтения содержимого файла edit.txt, но saveString не может содержать все содержимое моего .txt файла.Размер NSString - Objective C

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 ?? Я не могу понять это. Может кто-нибудь дать мне объяснение или помочь мне понять это. Спасибо и с уважением.

+0

Вы уверены, что файл существует? –

+0

Сохраняет ли saveString какой-либо текст или ни один из ваших текстов? – sosborn

+0

Какой результат вы получаете? –

ответ

2

Я бы предположил, что жесткий предел для NSString будет NSUIntegerMax символов, поскольку методы NSString и связанные с размером методы возвращают NSUInteger. Поскольку все устройства, которые в настоящее время способны работать iOS, 32 бит, это означает, что NSUIntegerMax составляет 2^32 - 1, а NSString может содержать чуть более 4,2 миллиарда символов.

Насколько я знаю, практический предел намного меньше - на устройстве iOS, в частности, у вас не хватит памяти задолго до того, как вы нажмете какой-либо жесткий предел в NSString.

Итак, ваша проблема - это что-то еще !!!

+0

какая может быть проблема? Я получаю только некоторые из моих тестов, которые будут NSLogged. – kamalbhai

+0

Я попробовал свой код на своем компьютере с образцовым приложением, его работа отлично ... –

+1

Попробуйте поместить свой файл непосредственно в Каталог документов, а не помещать его в каталог Root, я сделал это !!! –