Проблема с NSMutableURLRequest - PullRequest
       14

Проблема с NSMutableURLRequest

0 голосов
/ 21 февраля 2010

у меня есть следующий метод

-(void)request
{
    responseData = [[NSMutableData data] retain];
    NSString *post =  [NSString stringWithFormat:@"id=%d&a_id=&d",1,1];
    NSLog(@"%@",post);
    NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];

    NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];

    request = [[NSMutableURLRequest alloc] init];

    [request setURL:[NSURL URLWithString:kWebURL@"/req/request.php"]];
    [request setHTTPMethod:@"POST"];
    [request setValue:postLength forHTTPHeaderField:@"Content-Length"];
    [request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];

    [request setHTTPBody:postData];
    [[NSURLConnection alloc] initWithRequest:request delegate:self];

    [postLength release];
    [postData release];
}

-(void)connectionDidFinishLoading:(NSURLConnection *)connection
{
    [connection release];   
}

Моя проблема в том, что произошла утечка с объектом nsmutableurlrequest. Я думаю, что я должен выпустить его где-нибудь, но когда я пытаюсь это сделать, я получаю exec_bad_access. Всякий раз, когда я пытаюсь выпустить его, я получаю эту ошибку в конце метода connectionDidFinishLoading.

РЕДАКТИРОВАТЬ: похоже, я могу освободить объект NSURLConnection ИЛИ объект NSMutableURLConnection.

Если я попытаюсь удалить их обоих, когда мне нужно, я получу exec_bad_access

1 Ответ

1 голос
/ 21 февраля 2010

Я считаю, что ваша проблема с выпуском postLength и postData. Вы не выделяли ни один из них, но создали их с помощью удобных методов. Вы должны убрать эти две строки, и тогда все будет в порядке, чтобы выпустить ваш NSMutableURLRequest.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...