在阅读第三方类MBProgressHUD时,看到这样的一个函数,NSEnumerator平常用的很少。
+ (MB_INSTANCETYPE)HUDForView:(UIView *)view {
NSEnumerator *subviewsEnum = [view.subviews reverseObjectEnumerator];
for (UIView *subview in subviewsEnum) {
if ([subview isKindOfClass:self]) {
return (MBProgressHUD *)subview;
}
}
return nil;
}
NSEnumerator是一个抽象类,集合类(如:NSArray、NSSet、NSDictionary等)均可获取到NSEnumerator,常用来遍历数组或者字典等。比如
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
[[Photo alloc] init], @"p1",
[[Photo alloc] init], @"p2",
[[Photo alloc] init], @"p3", nil];
//allValues 只能获取字典中值的数组列表,注意列表是无序的。
NSEnumerator *myEnumerator = [[dict allValues] objectEnumerator];
Photo *photo;
while((photo = [myEnumerator nextObject]))
{
[photo draw];
}
最后
以上就是妩媚御姐最近收集整理的关于NSEnumerator的全部内容,更多相关NSEnumerator内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复