现在我有一部分代码是这样的:
__strong MyRequest *this = self;
MyHTTPRequestOperation *operation = [[MyHTTPRequestOperation alloc]initWithRequest:urlRequest];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *request, id responseObject) {
[this requestFinished:request];
}
failure:^(AFHTTPRequestOperation *request, NSError *error) {
[this requestFailed:request withError:error];
}];
我这样做主要是因为其他一些类继承自这段代码所在的类并实现了自己的 requestFinished 和 requestFailed。
如果我将自引用更改为 __weak 我开始收到一些 EXC_BAD_ACCESS 错误。使用 __strong 引用一切正常,但我担心创建保留周期。请注意,我正在使用 ARC。
此代码是否会创建会导致问题的保留周期?有什么简单的解决方案吗?我可以遵循什么不同的方法让继承类实现自己的方法来处理响应?