——- android培训、java培训、ios培训期待与您交流!
三、集合类
为了存储其他对象而存在
3.1 NSArray
只能存放OC对象,不能存放非OC对象类型。
不可变数组:创建时数组多少元素,永远都是拥有多少元素
创建
NSArray *arr=[NSArray array];
NSArray *array1=[NSArray arrayWithObject:类名];
//nil 元素结束标志
NSArray *array2=[NSArray arrayWithObjects:类名,类名,nil];
//快速创建
NSArray *array3=@[类名,类名,类名];
//查看元素个数
array.count;
//访问某个位置的元素
[array objectAtIndex:索引值];
array[索引值]
遍历数组
方法1
for(id obj in 数组名)
{
//代码内容
}
方法2
[数组名 enumerateObjectUsingBlock:^(id obj,NSUInteger idx,BOOL *stop)
{
//id obj 表示对象
//NSUInteger idx 表示索引值
//BOOL *stop 表示遍历是否结束
}
]
3.2 NSMutableArray
可变数组
创建
NSMutableArray *array=[NSMutableArray arrayWithObjects:@"jack",@"rose",nil];
//添加元素
//[array addObject:对象名];
[array addObject:@"jim"];
//删除元素
//[array removeAllObjects]; 移除所有的元素
//删除指定的对象
//[array removeObject:对象名]
[array removeObject:@"jim"];
//通过索引删除元素,后面的元素的索引自动前移
//[array removeObjectAtIndex:索引值];
[array removeObjectAtIndex:2];
3.3 NSSet
数组元素没有顺序
不可变
创建
//值传递一个元素
//NSSet set1=[NSSet setWithObject:数组];
//传递多个元素
NSSet set2=[NSSet setWithObjects:@"jack",@"jim",nil];
//数组元素个数
[set2 count];
set.count;
//取值
//随机取值
[set2 anyObject];
3.4 NSMutableSet
无序,可变
创建
NSMutableSet s=[NSMutableSet set];
//添加元素
//[s addObject:对象名];
//移除元素
//1.移除所有 removeAllObjects
//2.移除特定对象 removeObject:对象名
3.5字典NSDictionary
功能:
在给定的关键字(通常是一个NSSting字符串)下存储一个数值(可以是任何类型的对象)。可以根据这个关键字查找相应的数值。
创建
//1.
NSDictionary *名称=[NSDictionary dictionaryWithObjectsAndKeys:键名,键值,nil];
//2.
NSDictionary *名称=@{键名:键值,键名:键值,}
访问
键值=字典名[键名]
id name=dictionary[@"name"];
count方法
count方法返回的是键值对的个数
3.6可变字典NSMutableDictionary
创建
NSMutableDictionary *dic=[NSMutableDictionary dictionary];
//添加键值对,这些键值对是没有顺序的
[dic setObject:@"jack" forKey:@"name"];
[dic setObject:@"北京" forKey:@"address"];
//删除
[dic removeAllObjects]//删除全部
[dic removeObjectForKey:key]//通用key名称进行删除
注意:
如果使用相同的键名,会把之前的键值覆盖,
一个字典中只能有
四、NSNumber
用来包装基本数据类型
NSNumber *n1=[NSNumber numberWithInt:10];//将10包装到NSNumber
将基本数据类型包装到NSNumber中之后,可以通过value获得
-(char)charValue;
-(int)intValue;
-(float)floatValue;
-(BOOL)boolValue;
-(NSString)stringValue;
五、总结
1.Foundation框架是其他ios框架的基础
2.Foundation框架包含了很多开发中常用的数据类型:结构体、枚举、类
3.使用Foundation框架,需要在引用#import<.Foundation/Foundation.h>
4.集合类:存放的都是OC对象元素,非OC对象不能存储
5.集合类:分为可变和不可变
6.有序:NSArray、NSMutableArray
7.无序:NSSet、NSMutableSet、NSDectionary、NSMutableDectionary
8.NSNumber:将基本数据类型包装成对象
9.NSValue:将复杂的数据类型包装成对象