NSString из [NSData dataWithContentsOfURL:] - PullRequest
2 голосов
/ 25 января 2012

Вероятно, есть очень простой ответ на этот вопрос, но я, кажется, не могу понять, на что он способен.

Я получаю содержимое веб-URL с помощью (см. Ниже)

NSData *data = [NSData dataWithContentsOfURL:webURL];

Что я хочу сделать, это отобразить эти NSData в удобочитаемой форме, а не в шестнадцатеричном представлении.

Ответы [ 4 ]

7 голосов
/ 25 января 2012

Это также другой способ, полностью исключающий использование NSData:

NSError *error = nil;
NSString *string = [NSString stringWithContentsOfURL:webURL encoding:NSUTF8StringEncoding error:&error];
3 голосов
/ 25 января 2012
NSString* newStr = [[NSString alloc] initWithData:data
                                         encoding:NSUTF8StringEncoding];
1 голос
/ 25 января 2012

Если это только для отображения / регистрации, и вам не нужна строка в вашей программе, вы также можете установить точку останова (нажмите на номера строк в строке, которую вы хотите зарегистрировать).

Затем щелкните правой кнопкой мыши точку останова, которую вы только что создали -> Изменить точку останова -> Нажмите, чтобы добавить действие . Установите в раскрывающемся списке команду отладчика и в текстовом поле Действие введите x/10s (char*)[data bytes]. Это запишет 10 «сегментов» ваших данных в журнал. Установите флажок Автоматически продолжать ... , чтобы точка останова не остановила программу.

NSData logging breakpoint in Xcode4

0 голосов
/ 25 января 2012
NSString *response = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"%@", response);
...