Я использую этот код, но при профилировании он говорит, что у меня много утечек памяти в переменных response_error
, request
и _response
.
Я пытался в нескольких местах поместить release
код каждой переменной, используемой в функции, но она продолжает падать с сообщением об ошибке и без него.(чаще всего это EXC_BAD_ACCESS
, что указывает на ошибку доступа к памяти)
Я думаю, что это может быть проблема метода NSURLConnection sendSynchronousRequest
, но я не уверен.
Может кто-нибудь дать, пожалуйста,мне совет или поместите release
блоки в правильном месте этого кода?
Спасибо
NSString *request_url = [NSString stringWithFormat:@"http://www.server.com/api/arg1/%@/arg2/%@/arg3/%@",self._api_key,self._device_id,self._token];
NSURL *requestURL = [NSURL URLWithString:request_url];
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:requestURL];
NSError *response_error = [[NSError alloc] init];
NSHTTPURLResponse *_response = [[NSHTTPURLResponse alloc] init];
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:&_response error:&response_error];
NSString *str_response = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
return [[str_response JSONValue] valueForKey:@"pairing"];
, где переменные определены как
@interface MyClass : NSObject {
NSString *_device_id;
NSString *_token;
NSString *_api_key;
}
@property (nonatomic,retain) NSString *_device_id;
@property (nonatomic,retain) NSString *_api_key;
@property (nonatomic,retain) NSString *_token;