Objective-C 之数组,字典,集合

一. 数组类

1. NSArray 类

a. 存储指定对象的集合,其数组本身不能改变.

b. 指定初始化方法:initWithObject:@””,@””,@””,nil //注意nil是结束标识,类似于C语言中字符串结束标识’\0′

便利构造器方法:arrayWithObject:@””,@””,@””,nil

初始化语法糖形式Eg: NSArray *array = @[@””,@””,@””];//次处不需要nil结尾

c. C语言中获取数组元素个数的方法为 sizeof(array) / sizeof(array[0])在OC数组中获取数组元素对象的个数的方法为:

array.count为NSArray实例化对象的一个属性.

d. 获取指定下标元素对象的实例方法

objectAtIndex:(NSUInteger)或语法糖形式 array[下标]

e. 判断一个对象是否存在在数组中的实例方法

containsObject:(id) 返回值为BOOL型

f. 获取指定对象在数组中的下标的实例方法

indexOfObject:@””;返回值为long型

g. NSString类对象转化成为NSArray对象实例方法(通过哪个特殊字符进行分割,由字符串调用的实例方法)

componentsSeparatedByString:@”*”表示以*为分割赋将字符串分割成为俩个子字符对象存放在指定数组中

h. 以指定字符对象连接数组元素对象返回字符串对象(由数组调用的实例方法)

componentsSeparatedJoinedByString:@””

2. NSMutableArray 类

a. NSMutableArray为NSArray的子类.即初始化可以用NSArray的方法以及便利构造器方法

也可以创建空的数组

b. 顺序添加对象的实例方法 addObject:@””;

c. 尾部追加Array的实例方法addObjectsFromArray:@””;

d. 在指定下标处,添加对象的实例方法insertObject:@”” atIndex:

e. 替换指定下标对象的实例方法 replaceObjectAtIndex:(NSUInteger) withObject:@”” //语法糖 array[i] = @””;

f. 交换可变数组中两个指定下标的元素对象的实例方法 exchangeObjectAtIndex:(NSUInteger) withObjectAtIndex:(NSUInteger)

g. 删除整个数组中的元素对象的实例方法 removeAllObjects

h. 删除指定下标的元素对象的实例方法 removeObjectAtIndex:(NSUInteger)

i.  删除最后一位元素对象的实例方法 removeLastObject

二. 字典类

1. NSDictionary 类

a. 创建字典对象的初始化方法中提供的键值对是值,键组合,可以通过方法名看到先写值,再写键.(nil为结束标识)

Eg:

NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:@”(Object)”,@”(Key)”,nil]

b. 可以通过键数组与值数组对NSDictionary的对象进行初始化操作(键数组与值数组的元素对象个数必须相等)

Eg:

NSDictionary *dic = [NSDictionary dictionaryWithObjects:@[@””,@””] forKeys:@[@””,@””]];

c. 字典的语法糖形式创建对象(键值对利用:分割,左为键,右为值,@{}创建对象)

Eg:    NSDictionary *dic = @{@”name”:@”Carson”,@”age”:@23};键值对成对出现

d. NSDictionary 类实例化对象的方法与属性

获取键值对的个数:   count返回值为NSUInteger类型

获取所有键数组实例方法:      (返回值为数组类型) allKeys

获取所有值数组实例方法:      (返回值为数组类型) allValues

2. NSMutableDIctionary 类

a. 根据已有不可变字典对象来创建可变字典对象的实例方法

dictionaryWithDictionary:(NSDictionary *)

b. 添加键值对的实例方法

– (instancetype) setObject:(id) forKey:(key)

c. 修改键所指的值得方法

– (instancetype) setObject:(id) forKey:(key)

d. 删除指定键值的方法

– (instancetype) removeObjectForKey(key)

e. 删除字典中所有键值对的方法

– (instancetype) removeAllObjects

三. 集合类

1. NSSet 类

a. 特点:集合中的元素对象具有互异性,无序性的特点,相同的对象只能存在一个.

b. NSSet类的初始化方法:initWithObjects:(id)…nil便利构造器:setWithObjects:(id),nil // nil为结束标识

c. 获取NSSet类实例化对象中元素对象的个数为的属性为 .count

d. 随便取出NSSet的实例化对象中的一个元素对象 anyObject

e. 将NSSet对象转化成为NSArray对象并可以进行遍历操作

Eg:NSArray *array = [set allObjects];//set为一个集合

f. 通过NSSet集合中元素互异性则可以剔除数组中重复的元素对象.

Eg:NSSet *set = [NSSet setWithArray:array];

2. NSMutableSet 类

a. 特点:为一个可变的集合,可以对集合进行增,删,改的操作.

b. 将不可变集合对象转化成为可变集合对象

Eg: NSMutableSet *mutableSet = [NSMutableSet setWithSet:set];

c. 增加一个元素对象

Eg: [mutableSet addObject:@””];

d. 删除一个元素对象

Eg:[mutableSet removeObject:@””];

e. 删除所有元素对象

Eg:[mutableSet removeAllObjects];

    原文作者:CarsonChen
    原文地址: https://www.jianshu.com/p/4d9de936198a
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞