直接上代码吧
//1.字典遍历
NSDictionary *testDict = @{@"q":@"yy",
@"g":@"gg"};
//直接遍历
[testDict enumerateKeysAndObjectsUsingBlock:^(id _Nonnull key, id _Nonnull obj, BOOL * _Nonnull stop) {
}];
//带有遍历方案
[testDict enumerateKeysAndObjectsWithOptions:NSEnumerationReverse usingBlock:^(id _Nonnull key, id _Nonnull obj, BOOL * _Nonnull stop) {
}];
/*备注:每次遍历都会传递当前一组key,value值,BOOL * _Nonnull stop表示遍历当前这组数据之后是否结束循环,当 *stop = YES 的时候,表示该遍历循环终止。*/
//2.数组遍历
NSArray *testArray = @[@"a",@"b",@"c"];
[testArray enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
}];
[testArray enumerateObjectsWithOptions:NSEnumerationReverse usingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
}];
//备注:每次遍历都会传递当前位数,和对应的元素
//3.NSSet 和NSMutableSet ,无序数组
NSMutableSet *testSet = [[NSMutableSet alloc]init];
[testSet enumerateObjectsWithOptions:NSEnumerationReverse usingBlock:^(id _Nonnull obj, BOOL * _Nonnull stop) {
}];
[testSet enumerateObjectsUsingBlock:^(id _Nonnull obj, BOOL * _Nonnull stop) {
}];
//备注:每次遍历都会传递当前对象