数字--NSNumber 字典--dictionary 集合-- NSset 数组的排序(动态排序)。bolck函数指针。
1.NSNumber:Oc中很多地方限制了参数和元素必须是对象类型,
数组,字典,集合 nsstring 是字符串类型的数组, nsinteger不是一个对象类型:char,cgfloat,bool ,nsrange,cgsize,
(1)提供了一种方式将数据类型转化成对象,这种方式就是Nsnumber,
nsnumber的使用思路,在存储之前,先将数据类型转化成Ns number 类型后再存储,时候是取出nsnumber,再转换成基本数据类型。
1)将int转化成,float,char;
2.存储结构体:NSValue;NSNumber 是专门存储基本数据类型的,
NSValue是专门存储结构体的。两个的用法和思路是一样, NSNumber是ininwith类型-存的,类型value -取的,NSValue是通过遍历构造器valuewithrange-存,rangeValue-取,
(1)创建range 结构体类型,
(2)把这个结构体转换成nsvalue类型。
(3)将nsvalue存储到数组里面,
(4)从数组中拿到存储的value,
(5)打印验证我们拿到的是否成立。
3.字典:以%@格式打印字典,控制台输出{‘’=‘’}
(1)再oc里面有一种类,是字典类,里面数据都是键值对的形式存在,
(2)键值对 key关键字:value:关键字 key对应的值
(3)字典里面可以有很多的键值对,里面数据是无序存在的,
(4)在字典类里 key值是不能重复的,但是value是可以的
(5)在取值时,不允许通过下标来访问,只能通过key来访问,
(6)字典也分可变和不可变,
6. 集合
特点(1)乱序的(2)其中元素不重复(3)
打印集合元素的个数;打印是否包含:返回任意一个元素
实现便利一个字典里的任意一个的元素,虽然是随机的,但是当set中的数据不变时,anyobject返回的元素是一样的。
实现返回集合的所有元素。
利用集合的不重复性,可以实现数组元素的去重复。add 添加进集合,再使用setallobject,实现输出数组
7.带计数的集合。因为集合重复添加只保留一个,那么oc提供了一个集合类,可以统计每个元素重复的次数
继承自Nsmutableset,所有的属性和方法都可用。
8.快速遍历:增强for循环:for in。快速便利数组,字典
for (<#type *object#> in <#collection#>) {
<#statements#>
}
第一个参数,其中每个元素的类型,第二个元素是存储的类型的对象名,第三个是需要遍历的合集名,
9. 增强for循环的在遍历字典的时候,每次返回的是key的值。
10.数组排序。 a1=[a1 sortedArrayUsingSelector:@selector(compare:)];
(1) 数组提供方法,排序,sortedArrayUsingSlector :@selector(compare:)
参数返回的是selector 方法的返回值。
@selector,会去对象中寻找括号里面的方法名,并返回,若参数是sel,就是要在这里传入一个方法,做法就是通过@selctor和括号里面的方法名确定方法,