【Objective-C学习记录】第二十三天

数组类

有序集合

不可变

OC中的数组是一个容器,可以有序管理一系列元素,元素类型可以不相同,但是必须是对象类型。

初始化方法

1.initWithObjects:

2.便利构造器

3.字面量。

1 NSArray *array = @[@"SF", @"QOP", @"ST", @"PANDA"];

原始(核心)方法

1.count。数组的元素个数

2.objectAtIndex。通过下标获取数组元素

常用方法

1.containsObjects:。判断数组中是否包含某个元素,返回布尔值

2.indexOfObject:。根据元素获取该元素在数组中的下标,返回NSUInteger

3.componentsSeparatedByString:。该方法被字符串对象调用,将参数作为分割符分割字符串,并将子串返回成数组

4.componetsJoinedByString:。该方法被数组对象调用,将参数作为连接符连接数组内的元素,并返回拼接后的字符串

可变

初始化方法

1.initWithCapacity:。与可变字符串类似,参数填分配的空间,因可变数组自身就是可以改变大小的,所以该数组根据情况而定

2.便利构造器

3.字面量

1 NSMutableArray *array = [@[@"ES", @"VS", @"NA", @"CM"] mutableCopy];

这种方式同样可以给可变字符串初始化,mutableCopy是协议方法里mutableCopyWithZone:的返回值,具体是什么不太清楚,API这么写的

常用方法

1.addObject:。向可变数组里添加元素

2.insertObject: atIndex:。向可变数组里的指定位置插入一个新的元素

3.移除元素:

   A.removeObject:。参数为对象名称

   B.removeObjectAtIndex:。根据传入的下标删除元素

   C.removeLastObject:。删除数组中的最后一个元素

   D.removeAllObjects:。删除数组中的所有元素

4.replaceObjectAtIndex: withObject:。用第二个参数替换第一个参数索引到的元素

5.exchangeObjectAtIndex: withObjectAtIndex:。根据下标交换两个元素

字典类

无序集合,每一个对象都是一对键值对,靠key存取元素key和value必须是对象类型

不可变

初始化方法

1.initWithObjectsAndKeys:

2.便利构造器

3.字面量

1 NSDictionary *dict = @{@"key1":@"value1", @"key2":@"value2", @"key3":@"value3", @"key4":@"value4"};

需要注意的是便利构造器以及init这两种初始化方法是值在前键在后,而字面量是键在前值在后

常用方法

1.count。获取字典中键值对的个数

2.allKeys。获取所有键值,返回给一个数组

3.allValues。获取所有值,返回给一个数组

4.objectForKey:。通过key获取字典中的某个value值

可变

初始化方法

1.initWithCapacity:。参数为分配的容量

2.便利构造器

3.字面量

1 NSMutableDictionary *mDict = [@{@"key1":@"value1", @"key2":@"value2", @"key3":@"value3", @"key4":@"value4"} mutableCopy];

常用方法

1.setObject:forkey:。增加键值对

2.removeObjectForkey:。根据key删除键值对

3.removeAllObjects:。移除所有键值对

4.setObject:forkey:。修改键值对和增加键值对方法一样,如果key已经存在则修改,不存在则新增

---------未完待续---------

集合

无序容器,且对象不能重复

不可变

初始化方法

1.initWithObjects:

2.便利构造器

没有字面量的初始化方式

常用方法

1.count。获取集合中对象的个数

2.allObjects。获取集合中所有的对象

3.anyObject。从结合中获取一个对象,每次获取的都是同一个元素

4.containsObject:。判断集合中是否包含某个对象

可变

与字典数组类似,其中有一类特殊的可变集合:计数集合

初始化方法

setWithCapacity:

常用方法

addObject:。添加元素,如果有重复的元素,会给该元素计数+1,打印结果信息中包含了对象和该对象在集合中的个数。

原文地址:https://www.cnblogs.com/shvier/p/5074341.html