我是Objective C的新手,所以我甚至不确定这条消息的含义:
EXC_BAD_ACCESS
执行以下代码时:
-(void)HelloWorld
{
NSURL *url = [NSURL URLWithString:@"http://example.com/service.asmx/HelloWorld"];
NSMutableURLRequest *request =[NSMutableURLRequest requestWithURL: url];
//do post request for parameter passing
[request setHTTPMethod:@"POST"];
//set the content type to JSON
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
[connection release];
[request release];
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
// Store incoming data into a string
NSString *jsonString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
}
我正在尝试与Json Framework集成。
我调用HelloWorld,它向我的服务执行异步请求。奇怪的是,它有一次工作,现在我每次都会得到这个EXC_BAD_ACCESS消息。会有什么想法导致这个?
答案 0 :(得分:5)
您不应该发布请求。它已经自动释放了。
答案 1 :(得分:2)
EXC_BAD_ACCESS
表示你有一个糟糕的指针。在您的情况下,这是因为您在已经自动释放的情况下发布请求。
答案 2 :(得分:1)
您的代码还存在另一个问题(与崩溃无关)。您创建NSURLConnection并在创建后立即释放连接。创建异步连接时,应该在委托方法中释放连接(如果连接失败或连接完成加载)。