一、字典中的(有两个方法):
- (NSEnumerator<KeyType> *)keyEnumerator;//获取所有key值
- (NSEnumerator<ObjectType> *)objectEnumerator;//获取所有value值
示例:
NSDictionary *myDic=[[NSDictionary alloc]initWithObjectsAndKeys:@"张三",@"name",@"李四",@"name", nil];
NSUInteger count = [myDic count];
NSLog(@"词典的数量为: %lu",count);
NSEnumerator * myEnumerator = [myDic keyEnumerator];
for (NSObject *object in myEnumerator) {
NSLog(@"遍历KEY的值: %@",object);
}
NSEnumerator * myEnumerator = [[myDic allValues] objectEnumerator];
NSString *value;
while((value = [myEnumerator nextObject]))
{
NSLog(@"遍历的值: %@",value);
}
二、数组中的(有两个方法)
- (NSEnumerator<ObjectType> *)objectEnumerator;//正向遍历数组 ——>完全可用 for in 语法代替
- (NSEnumerator<ObjectType> *)reverseObjectEnumerator;//反向遍历数组
通过objectEnumerator向数组请求枚举器,如果想从后向前浏览集合,可使用reverseObjectEnumerator方法。在获得枚举器后,可以开始一个while循环,每次循环都向这个枚举器请求它的下一个对象:nextObject。nextObject返回nil值时,循环结束。示例如下:
// NSEnumerator示例
NSArray *array= [NSArray arrayWithObjects:@"112",@"234",@"3434",@"3455" ,nil];
NSEnumerator *enumerator = [array reverseObjectEnumerator];
id thing;
while (thing = [enumerator nextObject]) {
NSLog(@"Ifound %@",thing);
}
//也可以这样
NSArray *array= [NSArray arrayWithObjects:@"112",@"234",@"3434",@"3455" ,nil];
NSEnumerator *enumerator = [array reverseObjectEnumerator];
NSArray *arr = [enumerator allObjects];
for (NSString *res in arr) {
NSLog(@"%@",res);
}
NSArray *array= [NSArray arrayWithObjects:@"112",@"234",@"3434",@"3455" ,nil];
NSEnumerator *enumerator = [array reverseObjectEnumerator];
id thing;
while (thing = [enumerator nextObject]) {
NSLog(@"Ifound %@",thing);
}
//也可以这样
NSArray *array= [NSArray arrayWithObjects:@"112",@"234",@"3434",@"3455" ,nil];
NSEnumerator *enumerator = [array reverseObjectEnumerator];
NSArray *arr = [enumerator allObjects];
for (NSString *res in arr) {
NSLog(@"%@",res);
}
最后
以上就是清脆保温杯最近收集整理的关于iOS NSEnumerator的用法的全部内容,更多相关iOS内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复