このコードの設計についてあまり判断せずに、作成した保持サイクルを回避する方法を考えています...
@interface BlockClass : NSObject
{
id actualObject;
NSError *actualError;
void (^block)(id, NSError *);
}
@end
@implementation BlockClass
- (id)init
{
self = [super init];
if (self) {
block = ^(id object, NSError *error){
actualObject = object; // Compiler warns: capturing 'self' strongly in this block is likely lead to a retain cycle
actualError = error;
};
}
return self;
}