枚举器遍历
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=西红柿首富