EXC_BAD_ACCESS после преобразования HTTP-ответа в строку - PullRequest
1 голос
/ 14 февраля 2011

У меня есть следующий код, из которого я получаю ошибку EXC_BAD_ACCESS:

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
    NSString *responseString = [[NSString alloc] initWithData:receivedData encoding:NSUTF8StringEncoding];
    NSLog(responseString);
}

Странно то, что ошибка неправильного доступа на самом деле исходит из строки NSLog(), когда он пытается получить доступ к responseString. Я даже пытался добавить retain или autorelease в первую строку, но все равно получаю ошибку.

Есть мысли о том, что может происходить? Насколько мне известно, не должно быть никаких проблем, потому что я вызываю его сразу после того, как он определен, поэтому responseString еще не должен был быть выпущен, правильно?

РЕДАКТИРОВАТЬ: я должен отметить, receivedData это NSMutableData объект.

Ответы [ 2 ]

5 голосов
/ 14 февраля 2011

Попробуйте

NSLog(@"%@", responseString);

Ваш responseString может иметь некоторые 'зарезервированные последовательности', такие как %@ или %d.
Первая заставит NSLog получить доступ к "объекту" впроизвольное расположение в памяти, поскольку он не знает (или не заботится), сколько параметров вы фактически предоставили.

0 голосов
/ 14 февраля 2011

Попробуйте NSLog (@"%@", responseString);

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