为了学习,我有一个代码,我正在尝试将其编写为块。
我有这个 NSMutableArray 是 NSDictionary 对象的集合。在每个字典中都有一个与键“时间”相关联的 NSString 对象。我正在尝试查找该字典中是否存在给定时间。如果我不使用块,我会这样做:
for( NSDictionary* obj in allTimes ) {
double aValue = [[obj objectForKey:@"time"] doubleValue];
if (time == timeX)
[self doStuff];
}
使用块...
__block BOOL found = NO;
[allTimes enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
double aValue = [[obj objectForKey:@"time"] doubleValue];
NSLog(@"a value=%@", [obj objectForKey:@"time"] );
if (aValue == timeX) {
*stop = YES;
found = YES;
}
}];
但这永远不会建立任何东西。所有“aValue”都为零,所有 [obj objectForKey:@"time"] 都作为空字符串出现。