Утечка памяти с использованием блока ASIHTTPRequest

Я использую ASIHTTPRequest, как определено в примере:

  __block ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
[request setCompletionBlock:^{
    // Use when fetching text data
    NSString *responseString = [request responseString];//Memory leak here!!!
    NSLog(responseString);
   [connectionDelegate performSelector:succeededAction withObject:responseString];
}];

Я продолжаю получать утечку памяти здесь, и я понятия не имею, почему... (утечка памяти с использованием инструментов)

Любые идеи???


person Yaniv Efraim    schedule 10.10.2011    source источник


Ответы (1)


Код, который вы разместили, в порядке и не приведет к утечке памяти - утечка памяти должна быть внутри кода, вызываемого здесь:

[connectionDelegate performSelector:succeededAction withObject:responseString];

Эта функция succeededAction или что-то, что она вызывает, должна сохранять строку ответа и не освобождать ее позже.

person JosephH    schedule 10.10.2011
comment
Спасибо! Та проблема была именно так, как вы думали, я сохранил полученные данные и не выпустил их! - person Yaniv Efraim; 10.10.2011