NSEnumerator迭代器】的更多相关文章

前言 @interface NSEnumerator<ObjectType> : NSObject <NSFastEnumeration> Xcode 7 对系统中常用的一系列容器类型都增加了泛型支持(),有了泛型后就可以指定容器类中对象的类型了.假如向泛型容器中加入错误的对象,编译器会报警告. __covariant:协变性,子类型可以强转到父类型(里氏替换原则). __contravariant:逆变性,父类型可以强转到子类型. 不指定泛型类型的对象可以和任意泛型类型转化,但指…
前言 public class NSEnumerator : NSObject, NSFastEnumeration 1.迭代器 let arr:NSArray = ["bei", "jing", "huan", "ying", "nin"] let dic:NSDictionary = ["key1":"value1", "key2":"…
前言 Xcode 7 对系统中常用的一系列容器类型都增加了泛型支持(),有了泛型后就可以指定容器类中对象的类型了. 假如向泛型容器中加入错误的对象,编译器会报警告. __covariant:协变性,子类型可以强转到父类型(里氏替换原则). __contravariant:逆变性,父类型可以强转到子类型. 不指定泛型类型的对象可以和任意泛型类型转化,但指定了泛型类型后,两个不同类型间是不可以强转的, 假如你希望主动控制转化关系,就需要使用泛型的协变性和逆变性修饰符. 1.迭代器 NSArray *…
OBJC的集合类型: 1.数组 Array 2.Set 3.键值对 Dictionary 数组:OC中的数组被定义为class,引用类型.索引从0开始,访问越界会抛出运行时异常. NSArray的元素必须是对象,即NSObject的子类. 值类型必须用NSNumber封装为对象类型后,才能放入数组中. C语言结构类型的话,用NSValue封装为对象类型后,才能放入数组中. 数组元素可以是不同对象类型,可能会有类型不安全. NSArray具有常量性:长度和元素指针都不能更改,但指针指向的对象内部可…
NSArray的一些用法 NSArray只允许装OC对象,并且不能装空值,空代表数组元素的结束 #pragma mark - NSArray的基本用法 // 创建一个空数组 NSArray *array = [NSArray array]; // 创建有一个元素的数组 array = [NSArray arrayWithObject:"]; // 创建有多个元素的数组 array = [NSArray arrayWIthObjects:@"a",@"b",…
0.OC语法基础 CHOCBase Object C语法学习笔记(一) Object C语法学习笔记(二) 1.UI类 自定义控件程序运行流程 setNeedsLayOut和setNeedsDisplay区别 masonry使用技巧 布局约束SDAutoLayout 1.1 普通展示 UILabel UIView UI控件的位置 UICollectionViewController UIPageViewController UITextView UITableViewController UII…
NS类集合介绍 1.常用部分 NSDictionary NSString NSArray 数组 NSTimer 定时器 NSRange 范围 NSNotification 2.网络相关 NSURLConnection 网络请求 NSURLSession 网络请求 网络请求 ios 9以上,原生代码实现断点续传. 3.时间日期相关 NSCalendar日历 NSTimeZone时区 NSDate 时间 判断相隔一天 4.数据存储相关 4.1 获得指定目录下,指定后缀名的文件列表 NSKeyedAr…
另外,OC中有一个专门的快速枚举的迭代器类NSEnumerator,这个类的使用方法如下: //得到一个对应的enumerator对象  NSEnumerator * enumerator = [self.view.subviews reverseObjectEnumerator]; for(UIView * views = [enumerator nextObject];;)//遍历 { if([views isKindOfClass:[XYZSeniorQueryView class]])…
迭代器模式 基本理解 迭代器模式(Iterrator):提供一个方法顺序访问一个聚合对象中的各个元素,而又不暴露该元素的内部表示. 当你访问一个聚合对象,而且不管这些对象是什么都需要遍历的时候,你就应该考虑用迭代器模式. 你需要对聚集有多种方式遍历时,可以考虑用迭代器模式. 迭代器模式就是分离了集合对象的遍历行为,抽象出一个迭代器类来负责,这样既可以做到不暴露集合的内部结构,又可让外部代码透明地访问集合内部的数据. 迭代器定义了一个用于访问集合元素并记录当前元素的接口. 不同的迭代器可以执行不同…
//一: 迭代器 //数组 NSArray *arr=@[@"1",@"2",@"3",@"4",@"5"]; NSEnumerator *enumerator = [arr objectEnumerator]; NSString *str = nil; while (str = [enumerator nextObject]) { NSLog(@"%@",str); } // 字典 /…