一.NSArray--不可变数组
创建方式--NSArray *变量名 = 【NSArray arrayWithObject:@“字符串”】 ;
创建多个对象数组元素--NSArray *变量名 = 【NSSArray arrayWithObject:@“字符串”,@“字符串”,@“字符串”,nil】
快速创建多个数组的方式:NSSArray *变量名 = @【@“”,@“”,@“”,@“”】;这是Xcode编译器的特性!
注意:1.OC对象数组只能存放OC对象,不能存放非OC对象类型。
2.OC数组不能存放nil值,nil是元素结束的标志,系统会认为nil前面的时数组元素。
查看数组元素个数的方法,调用getter方法count--【数组变量名 count】(返回数值是unsign long)
访问数组的某个元素的方法调用对象方法objectAtIndex:元素下标。--【数组变量名 objectAtIndex:1】这表示访问这个数组的第1个元素对象
快速遍历对象数组的方法:
for(id obj in 数组名)----id obj代表着数组中的每一个元素
{
NSLog(@"%@",obj);
}
最完善的遍历方法是,调用enumerateObjectUsingBlock:+Block数据类型
【数组名 enumerateObjectUsingBlock:^(id obj,NSUInteger idx,Bool *stop){NSLog(@"%ld--%@",idx,obj);
if(idx == 0)
{
*stop = YES;//停止遍历
}}】说明:每遍历一个元素,就会调用一次Block,并且当前元素和索引位置会当做参数传给Block。
NSMutableArray--可变对象数组,是NSArray的子类
创建方式:NSMutableArray *变量名 = 【NSMutableArray array】;
添加对象到数组的方法,调用addObject方法(这只是NSMutableArray:的方法)---【数组变量名 addObject:@“”】;
一次性创建多个元素的方法,调用类方法arrayWithObjects:@(id)......,nil----[NSMutableArray arrayWithObjects:@"",@"",@"",nil];注意可变数组不能使用编译器特性方式@【@“”,@“”,@“”】创建数组对象,因为这只适用于不可变数组NSArray!
删除数组对象的所有元素,调用对象方法removeAllObjects----【数组对象变量名 removeAllObjects】
删除指定对象,调用对象方法removeAllObject:---[对象数组变量名 removeAllObject:@"字符串"]或者调用对象方法reoveObjectAtIndex:---【array removeObjectAtIndex:数组元素下标数值】;
NSSet 集合类,是一个对象数组,但是存放在这个数组里面的对象是没有顺序的。是不可变的数组。
使用方法:调用类方法setWithObject:@“”---NSSet *变量名 = 【NSSet setWithObject:@“”】,同时创建多个就调用类方法setWithObjects
取出其中一个元素的方法(是随机抽取的),调用类方法anyObject---【数组变量名 anyObject】
NSMutableSet:是NSSet的子类,它是可变的,它的创建,添加,删除方法用法都是跟NSMutableArray一样的,只是NSMutableArray是有序的的,而NSMutableSet则是无序的。
NSDictionary俗称‘字典’,也是个集合类,它是不可变的。里面存储的对象都是以键(key)值(value)对的形式存放的,对象能通过key的内容找到vlaue的内容,他们是相对应的。在里面的对象没有顺序之分。
创建方式:调用类方法dictionaryWithObject
NSDictionary *变量名 = 【NSDictionary dictionaryWithObject:@“值” forKey:@“键”】;同时还有一个快捷的创建方式它是属于编译器特性--NSDictionary *变量名 = @{@“键”:@“值”,@“键”:@“值”};
查找字典里的元素方法,调用类方法objectForKey:-----id 变量名 = 【字典变量名 objectFoeKey:@“键”】//能找到与键相对应的值,同时还有一个快捷方法它是属于编译器特性=> id 变量名 = 字典变量名【@“键”】。
NSMutableDictionary--是NSDictionary的子类,它是可变的。
注意:一个key只能对应一个value,如果有就会覆盖前面的key
创建方式:NSmutableDictionary *变量名 = 【NSMutableDictionary dictioary】//初始化对象;
添加键值对方法---【变量名 setObject:@“值” forKey:@“键”】;
删除键值对方法----【变量名 removeObjectForkey:@“键”】;
遍历字典的方法:[字典变量名 enumerateKeysAndObjectsUsingBlock:^(id key, id obj,BOOL *stop){
NSLog(@"%@--%@",key , obj);//打印
}]