Очень похоже на этот вопрос, я пытаюсь преобразовать проект, который использует ASIHTTPRequest
и ASIFormDataRequest
в ARC.
В моих классах контроллера я часто ссылаюсь и использую свойства объекта request
в блоках завершения (смотря на код ответа, данные ответа и т.д.):
__block ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:SOME_URL]];
[request setCompletionBlock:^{
if([request responseStatusCode] == 200) ....etc
При преобразовании в ARC я получаю предупреждение:
Захват "запроса" сильно в этом блоке, вероятно, приведет к сохранить цикл
Каков правильный способ сделать это?
Еще один пользователь SO в предыдущем потоке, который просто добавляет __weak
, может заставить запрос быть выпущенным до завершения блока, который, как я считаю, является истинным.
Как я могу правильно ссылаться на эти свойства в блоках завершения/отказа в ARC?