私は方法を持っています:
- (void)myMethod:(NSError *)error
{
[[self.data allKeys] enumerateUsingBlock:^(id obj, NSUInteger idx, BOOL *stop){
__block NSString *channelName = obj;
NSArray *subArray = [self.data objectForKey:obj];
[subArray enumerateUsingBlock:^(id obj, NSUInteger idx, BOOL *stop){
Wrapper *wrapper = obj;
[wrapper handleError:error forChannel:channelName];
}];
}];
}
1) 内部ブロックのパラメーター obj、idx、および stop に異なる名前を使用する必要がありますか?
2) channelName を __block として定義する必要がありますか?
3) すべてのブロックの外側で弱い自己を定義し、それをブロックで使用する必要がありますか?
編集:
channelName
内部ブロックで使用され、ハンドラ ブロックに渡されます。