枚举器

作者: 楼船夜雪_WL | 来源:发表于2019-07-01 16:54 被阅读0次

1、枚举器是一种苹果官方推荐的更加面向对象的一种遍历方式,相比于for循环,它具有高度解耦、面向对象、使用方便等优势

2、for in、经典for循环和EnumerateObjectsUsingBlock 的比较:

2.1、对于集合中对象数很多的情况下,for in 的遍历速度非常之快,但小规模的遍历并不明显(还没普通for循环快)
2.2、Value查询index的时候, 面对大量的数组推荐使用 enumerateObjectsWithOptions的并行方法.

2.3、遍历字典类型的时候, 推荐使用enumerateKeysAndObjectsUsingBlock,block版本的字典遍历可以同时取key和value(forin只能取key再手动取value)

//数组枚举
[@[@"1",@"2",@"3",@"1",@"2",@"3",@"1",@"2",@"3",@"100",@"2",@"83",@"1",@"2",@"-3"] enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
if ([obj integerValue] == 100) {
NSLog(@"===%ld===",idx);
}
}];

//for-in 快速枚举
NSMutableArray * arr = @[@1,@2,@3,@4,@5].mutableCopy;
for (NSNumber *obj in arr) {

// if ([obj integerValue] == 2) {
// [arr addObject:@"6"];
// }
NSLog(@"%@",obj);
}

NSDictionary * dic = [NSDictionary dictionaryWithObjectsAndKeys:@"obj1",@"key1",@"obj2",@"key2",@"obj3",@"key3" ,nil];
[dic enumerateKeysAndObjectsUsingBlock:^(id  _Nonnull key, id  _Nonnull obj, BOOL * _Nonnull stop) {
    NSLog(@"===%@====%@",key,obj);
    if ([key isEqualToString:@"key2"]) {
        *stop = YES;
    }
}];

参考:(https://www.jianshu.com/p/5d4a8be9baf7)
** [https://www.jianshu.com/p/c45f928b0519]

相关文章

  • 枚举器

    1、枚举器是一种苹果官方推荐的更加面向对象的一种遍历方式,相比于for循环,它具有高度解耦、面向对象、使用方便等优...

  • Enum枚举的使用

    例:要求select下拉列表展示枚举中所有项 枚举类: 控制器类: 页面调用: 获得枚举的描述: 1.控制器 js...

  • OC 数组、字典、集合的遍历方法&数组排序

    一 、遍历 For 循环遍历 NSEnumerator 枚举器遍历 数组,字典,集合都有一个枚举器方法,返回的是枚...

  • iOS 枚举器NSEnumerator

    初始化一个数组用枚举器来遍历数组 获取数组的逆序枚举器(逆序输出)

  • Swift 5.x 递归 enum

    递归枚举是拥有另一个枚举作为枚举成员关联值的枚举.当编译器操作递归枚举时必须插入间接寻址层.你可以在声明枚举成员之...

  • Java 枚举enum

    枚举类构造器 只能使用 private 访问修饰符,所以无法从外部调用构造器,构造器只在构造枚举值时被调用; 使用...

  • Vector中的枚举

    枚举就是Vector 特有的取出方式。发现枚举和迭代器很像。其实枚举和迭代是一样的。 因为枚举的名称以及方法的名称...

  • 枚举——静态常量

    在java中枚举有个特点,枚举实例的定义要求在枚举类型的第一行, 而且,枚举构造器的调用,会在static块的调用...

  • 枚举器遍历

    句子枚举(字符串): 首先介绍下,我是大伟。我是一个篮球热爱者。你了解我吗?我们也许并不认识!我想说:“我绝对是你...

  • 04-枚举常量

    Go语言枚举 c语言中的枚举 Go语言枚举 iota迭代器 Go语言输出函数 fmt.Printf("格式化字符串...

网友评论

    本文标题:枚举器

    本文链接:https://www.haomeiwen.com/subject/wjagcctx.html