我有一个 NSMutableOrderedSet。
我需要枚举它,看起来唯一构建到集合上的选项是基于 block 的。所以选择最简单的基于 block 的选项,我有这样的东西......
[anNSMutableOrderedSet enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
if ([(SomeClass*)obj isWhatIWant]) {
*stop = YES;
// Ok, found what I'm looking for, but how do I get it out to the rest of the code?
}
}]
最佳答案
您可以使用 __block 在完成 block 中分配一些值。
__block yourClass *yourVariable;
[anNSMutableOrderedSet enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
if ([(SomeClass*)obj isWhatYouWant]) {
yourVariable = obj;
*stop = YES;
}
}]
NSLog(@"Your variable value : %@",yourVariable);
关于ios - 如何返回 enumerateObjectsUsingBlock 找到的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36306877/