ASIHTTPRequest / ASIFormDataRequest - ссылка на объект запроса внутри блоков под ARC

Очень похоже на этот вопрос, я пытаюсь преобразовать проект, который использует ASIHTTPRequest & ASIFormDataRequest в ARC.

В моих классах контроллера представления я часто ссылаюсь и использую свойства объекта request в блоках завершения (просматривая код ответа, данные ответа и т.д.):

__block  ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:SOME_URL]];    
[request setCompletionBlock:^{   

    if([request responseStatusCode] == 200) ....etc

При конвертации в ARC я получаю предупреждение:

Захват 'request' сильно в этом блоке, вероятно, приведет к retain cycle

Каков правильный способ сделать это?

Другой пользователь SO отмечает в предыдущей теме, что простое добавление __weak может привести к тому, что запрос будет освобожден до завершения блока, что я считаю правдой.

Как я могу правильно ссылаться на эти свойства в блоках завершения/отказа в ARC?

21
задан Community 23 May 2017 в 12:23
поделиться