我有以下代码,从中我得到一个EXC_BAD_ACCESS错误:
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
NSString *responseString = [[NSString alloc] initWithData:receivedData encoding:NSUTF8StringEncoding];
NSLog(responseString);
}
奇怪的是,当尝试访问
NSLog()
时,错误的访问错误实际上来自responseString
行。我什至尝试将retain
或autorelease
添加到第一行,但仍然出现错误。对可能发生的事情有任何想法吗?据我所知,应该没有任何问题,因为在定义之后我会立即调用它,所以
responseString
应该还没有发布,对吗?编辑:我应该提到,
receivedData
是一个NSMutableData
对象。 最佳答案
尝试
NSLog(@"%@", responseString);
您的
responseString
可能有一些“保留序列”,例如%@
或%d
。前者将导致
NSLog
在内存中的任意位置访问“对象”,因为它不知道(或不在乎)您实际提供了多少个参数。