Я написал пример кода для подключения к серверу. Пожалуйста, найдите код, который я написал ниже.Слабый сам получает нуль внутри блока, но я хочу использовать самообъект внутри блока.
__weak typeof(self) weakSelf = self;
self.dataTask = [defaultSession dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error)
{
weakSelf.dataTask = nil;
NSInteger extractionResponseCode = [((NSHTTPURLResponse *)response) statusCode];
if (!error && data.length > 0 && extractionResponseCode == 200)
{
[weakSelf handleResponse:data];
}
else
{
[weakSelf handleError:error];
}
}];
После получения ответа, я должен позвонить либо handleResponse:
или handleError:
на основе ответа.
Я взял weakSelf, чтобы избежать проблемы с циклом сохранения в ARC.
Моя проблема здесь в блоке weakSelf получает как ноль, так что ни handleResponse:
, ни handleError:
методы называются.
Не могли бы вы помочь мне, как я могу решить эту проблему?
Заранее спасибо.