有没有办法在
例如,我见过的所有处理块枚举的 Cocoa API 都有一个“停止”参数:
有没有类似于GCD的东西?
dispatch_apply()
块中模拟一个 break
语句?例如,我见过的所有处理块枚举的 Cocoa API 都有一个“停止”参数:
[array enumerateObjectsUsingBlock:^(id obj, NSUInteger i, BOOL *stop) {
if ([obj isNotVeryNice]) {
*stop = YES; // No more enumerating!
} else {
NSLog(@"%@ at %zu", obj, i);
}
}];
有没有类似于GCD的东西?
enumerateObjectsUsingBlock:
上的停止标志存在是因为暗示了顺序执行是错误的;这两者完全正交。 - bbum