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