Усеченные данные NSData to NSString - iPhone - PullRequest
3 голосов
/ 16 июля 2009

У меня есть следующий код.

NSData *pageData = [NSURLConnection sendSynchronousRequest:request returningResponse:NULL error:NULL];
NSString *webpage = [[NSString alloc] initWithData:pageData encoding:NSUTF8StringEncoding];

Это нормально работает с большинством страниц, но усекает действительно длинные, есть ли способ обойти это вообще?

Ответы [ 2 ]

4 голосов
/ 16 июля 2009

Я считаю, что это то, что вы ищете (из ссылки на класс NSString, указанной выше):

stringWithContentsOfURL:encoding:error:

Возвращает строку, созданную чтение данных с заданного URL, интерпретируемого с использованием заданной кодировки.

(id)stringWithContentsOfURL:(NSURL *)<i>url</i> encoding:(NSStringEncoding)<i>enc</i> error:(NSError **)<i>error</i>

Параметры
url URL-адрес для чтения.

enc Кодировка данных в URL.

error Если возникает ошибка, при возврате содержится объект NSError, который описывает проблему. Если вас не интересуют возможные ошибки, Вы можете перейти в NULL.

Возвращаемое значение
Строка, созданная чтением данных из URL с использованием кодировка, enc . Если URL не может быть открыт или есть кодировка ошибка, возвращает nil.

3 голосов
/ 16 июля 2009

Проверьте этот метод:

http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html#//apple_ref/occ/clm/NSString/stringWithContentsOfURL:encoding:error:

Если вы просто используете синхронный запрос, все будет в порядке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...