【发布时间】:2012-08-03 20:40:06
【问题描述】:
我使用一个nsmutablearray创建了一个二维数组,有一个方法:
- (void)enumerateObjectsUsingBlock:(void (^)(id obj, NSUInteger row, NSUInteger column, BOOL *stop))block
{
[self.internalArray enumerateObjectsUsingBlock:^(id obj, NSUInteger rowIdx, BOOL *stopRow){
NSMutableArray *rowArray = obj;
[rowArray enumerateObjectsUsingBlock:^(id obj, NSUInteger columnIdx, BOOL *stopColumn){
block(obj, rowIdx, columnIdx, stopColumn);
}];
}];
}
我注意到如果“块”将 stopColumn 设置为 YES,那么我需要一种方法来通知外部块 stopRow 也应该为 YES,我不确定是否可以:
- 只使用一个 BOOL *stop 而不是 stopRow 和 stopColumn(因为我使用的是 ARC),或者
- 在外层块内添加BOOL isStop,内层块可以设置为stopColumn吗?
【问题讨论】:
标签: objective-c nsmutablearray nsarray objective-c-blocks enumeration