Инициируйте соединение, используя
self.responseData = [NSMutableData data];
NSURL *url = [NSURL URLWithString:@"http://sampleurl/"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url];
connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
[connection autorelease];
и вы можете перехватить ответ в методе делегата connectionDidFinishLoading
#pragma mark - NSURLConnection Delegate Methods
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
[self.responseData setLength:0];
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {
[self.responseData appendData:data];
}
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
NSLog(@"Connection failed: %@", [error description]);
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
//Getting your response string
NSString *responseString = [[NSString alloc] initWithData:self.responseData encoding:NSUTF8StringEncoding];
self.responseData = nil;
}
Для вашей проблемы утечки памяти
Объявление данных ответа в файле интерфейса
NSMutableData *_responseData;
со свойством как показано ниже
@property (nonatomic, retain) NSMutableData *responseData;
и синтезировать его
@synthesize responseData = _responseData;
Никогда не выпускайте его (мы использовали удобные конструкторы для выделения). Мы уже установили его на ноль в методе connectionDidFinishLoading.