【发布时间】:2016-11-25 21:38:46
【问题描述】:
我编写了一个示例代码来建立服务器连接。请在下面找到我写的代码。
__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: 方法。
您能帮我解决这个问题吗?
提前致谢。
【问题讨论】:
标签: ios objective-c automatic-ref-counting objective-c-blocks