我有一个方法:
- (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
由内部块使用,并传递给处理程序块。