枚举器遍历

2018-12-06  本文已影响16人  崔盛希

句子枚举(字符串):

首先介绍下,我是大伟。我是一个篮球热爱者。你了解我吗?我们也许并不认识!我想说:“我绝对是你最值得拥有的伙伴!”。 那你还在等什么呢,come on!

上看一段话把每一个句子输出出来:


 NSString *text = @"首先介绍下,我是大伟。我是一个篮球热爱者。你了解我吗?我们也许并不认识!我想说:“我绝对是你最值得拥有的伙伴!”。 那你还在等什么呢,come on!";
        // NSStringEnumerationBySentences  以句子进行的分割。
        [text enumerateSubstringsInRange:NSMakeRange(0, [text length]) options:NSStringEnumerationBySentences usingBlock:^(NSString * _Nullable substring, NSRange substringRange, NSRange enclosingRange, BOOL * _Nonnull stop) {
            
            if (substring) {
                i++;
            }
            NSLog(@"%u: %@ range: %@",i,substring, NSStringFromRange(substringRange));
        }];

输出结果如下:

2018-12-06 10:58:42.662180+0800 studyDemo[1184:139666] 1: 首先介绍下,我是大伟。 range: {0, 11}
2018-12-06 10:58:42.662461+0800 studyDemo[1184:139666] 2: 我是一个篮球热爱者。 range: {11, 10}
2018-12-06 10:58:42.662509+0800 studyDemo[1184:139666] 3: 你了解我吗? range: {21, 6}
2018-12-06 10:58:42.662539+0800 studyDemo[1184:139666] 4: 我们也许并不认识! range: {27, 9}
2018-12-06 10:58:42.662578+0800 studyDemo[1184:139666] 5: 我想说:“我绝对是你最值得拥有的伙伴!”。  range: {36, 22}
2018-12-06 10:58:42.662600+0800 studyDemo[1184:139666] 6: 那你还在等什么呢,come on! range: {58, 17}

倒序枚举

NSArray *tmpAry = @[@"江泽民",@"胡锦涛",@"习近平"];
        /**
         NSEnumerationConcurrent 当前的排序状态
         NSEnumerationReverse    倒序排列
         */
        [tmpAry enumerateObjectsWithOptions:NSEnumerationReverse usingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
            
            NSLog(@"国家主席===%@\n",obj);
            
        }];
        

输出结果:

2018-12-06 11:06:46.824150+0800 studyDemo[1216:151502] 国家主席===习近平

2018-12-06 11:06:46.824178+0800 studyDemo[1216:151502] 国家主席===胡锦涛

2018-12-06 11:06:46.824192+0800 studyDemo[1216:151502] 国家主席===江泽民

字典枚举

NSDictionary *tmpdic = @{@"徐峥":@"我不是药神",@"沈腾":@"西红柿首富"};
      
        /**
         NSEnumerationConcurrent 当前的排序状态
         NSEnumerationReverse    倒序排列
         */
        [tmpdic enumerateKeysAndObjectsWithOptions:NSEnumerationReverse usingBlock:^(id  _Nonnull key, id  _Nonnull obj, BOOL * _Nonnull stop) {
            NSLog(@"我不想说,我很亲切,我不想说,我很纯洁:key=%@ value=%@\n",key,obj);
        }];

输出结果:

2018-12-06 11:10:22.412999+0800 studyDemo[1235:157396] 我不想说,我很亲切,我不想说,我很纯洁:key=徐峥 value=我不是药神

2018-12-06 11:10:22.413019+0800 studyDemo[1235:157396] 我不想说,我很亲切,我不想说,我很纯洁:key=沈腾 value=西红柿首富

上一篇下一篇

猜你喜欢

热点阅读