您的位置:首页 > 移动开发 > Objective-C

Objective-C ---NSArray NSDictionary(梳理整理)

2016-05-18 16:19 447 查看
NSArray 和NSDictionary都是oc中的集合类,什么叫做集合,就是装对象的对象

NSArray篇

NSArray是有序的

1.创建方式 a.[[NSArray alloc] initWithArray:arr1];(用本身创建)

b.NSArray*array = @[对象1,对象2,。。。。];

2.常用的属性

a.count 获取个数

b.array[0] 获取第0个元素

c.contains 是否包含 ,返回BOOL 类型

d.subarrayWithRange 提取元素

3.遍历 1.for(,,)2.enum ([enum1 nextObject]为nil 的时候停止)3.for in(***)

4.排序方法

1.sortedArrayUsingFunction{传入返回类型为NSInteger的函数名,并实现这个函数,较麻烦}

2.sortedArrayWithOptions:<#(NSSortOptions)#> usingComparator:<#^NSComparisonResult(id obj1, id obj2)cmptr#>系统封装好的一个方法,差不多就是sortedArrayUsingFunction的函数方法写在Block内

3.NSSortDescriptor(***)

NSSortDescriptor *des1 = [NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES];//根据name排列

NSSortDescriptor *des2 = [NSSortDescriptor sortDescriptorWithKey:@"age" ascending:YES];//根据age排列

NSArray *desArr = @[des1,des2];//当des1相同时 再比较des2

NSArray *newArray = [array sortedArrayUsingDescriptors:desArr];

子类:NSMutableArray用的比较多

增: add(在后面添加新元素), insert(讲新元素插入指定下标)

删: remove*****

改: replace****, exchange**** , set***** (全部改为....)

查:即上面写的遍历方法

======================================

NSDictionary

NSDictionary是无序的集合(NSArray是有序的)

key->value键值对,也就是说字典是通过key来找值的( NSArray是通过下标找值的)

1.创建方式

a.initWithDictionary

b.[NSDictionary dictionaryWithObjects:<#(NSArray *)#> forKeys:<#(NSArray *)#>

c.NSDictionary* dictionary = @{key1 : value1 , key2 : value2 , key3 : value3 ……}<<NSArray为[]<-中括号>>

2.常用的属性

a.count

b.id obj = dictionary[key]

c.allValues, allKeysForObject

3.遍历 直接推荐forin方式

子类NSMutableDictionary

增: set***** 对键值对(一般就这个了); add***** 增加一个字典内容;

删: remove*******

改: set******(和增加是同一个方法,有的时候就修改value 没有的话就会添加一对键值对)

=========================================

比较

1.字典相对与数组的优点 (查询)

字典获取元素速度比数组快

2.获取元素的方式

数组通过下标获取指定元素的内容

字典通过key来获取指定元素的内容
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: