Очень похоже на этот вопрос, я пытаюсь преобразовать проект, который использует 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?