------期待与您交流! -------
一、NSSet和NSMutableset(无序的)
1. NSSet(不可变)
(1)创建
1)NSSet *s=[NSSet set]; //空的set
2)NSSet *s2=[NSSet SetWithObect:@"jack",@"rose",nil];
(2) 随机拿出一个对象
NSString *str=[s2 anyobject];
2. NSMutableSet(子类)(可变)
(1)创建
NSMutableSet *s=[NSMutableSet set]
(2)添加元素
[s addobject:"@hake"]
(3)删除元素
[s removeAllobject] //删除所有元素
[s removeAllobject::"@hake"] //删除指定元素
二、字典NSDictionary和NSMutableDictionary(无序的)
1. NSDictionary(不可变)
(1)创建
NSDictionary*dict=[ NSDictionaryWithObject:@"jack"for key:@"name"]; //一对键值,根据name可以找到jack
(2)字典就是通过key(索引)-----------》value(值)
(3)字典存储的东西都是键值对
(4)访问name对应的值:[dict objectForkey:@"name"];
(5)NSArray*keys=@[@"name",@"address"];
NSArray*objects=@[@"jack",@" 北京"];
NSDictionary*dict=[ NSDictionary DictionaryWithObject :objectsfor key:keys];//根据keys找objects
(6)快速创建
NSDictionary*dict=@{@"name":@"jack",@"address":" 北京"}; (常用)
id obj=dict[@"name"];//拿出name对应的值
(7)遍历
NSDictionary*dict=@{@"name":@"jack",@@"address":" 北京"};
1)for循环
NSString *keys=[dict allkeys];
for(int i=0;i<dict.count;i++)
{
NSString *key=keys[i];
NSString *object=dict[key];
NSLog(@"%@=%@",key,object);
}
2)block方法
[dict enumeratekeysAndobjectsUsingBlock:
^(id key,id obj,BOOL*stop){NSLog(@"%@=%@",key,object);}]
2. NSMutableDictionary(可变的)
(1)创建
NSMutableDictionary*dict=[ NSMutableDictionary dictionary]; //空字典
(2)添加键值对
[dict setobject:@"jack" for key :@"name"];
[dict setobject:@"rose" for key :@"name"]; //会将"jack"覆盖
(3)删除键值对
[dict removeobjectForkey:(id)]
(4)NSMutableDictionary不能使用快速创建
三、NSNumber和NSvalue
1. 把基本数据类型包装成OC 对象:NSNumber*num=[NSNumber numberWithInt:10]
2. NSDictionary*dict=@{@"name":@"jack",@"age":" num"};
NSNumber*num2=dict[@"age"];
//取出的age还是OC对象
3. int a=[num2 intvalue];//将num2(OC对象)转为基本数据类型
4. @20 //将基本数据类型快速转化成OC对象(@"20")
5. @"A":NSString对象
@'A' 将字符包装成一个NSNumber对象
6. int age=100
@(age)//将age包装成NSNumber对象
7. 将结构体包装成OC 对象
CGPoint =CGPointMake(10,10);// 结构体
NSvalue value=[NSvalue valueWithPoint :p]//把结构体转为OC 对象
8. NSArray *array=@[value];//把对象放进数组
9. [value pointValue];//把value转为对应的结构体
10. NSnumber之所以能将基本数据类型包装成OC对象,是因为它继承了NSvalue
四、NSDate
1. 创建一个时间对象
NSDate *date=[NSDate date];
NSLog(@"%@",date);//打印出的时间是0时区的时间
2. NSDate *date=[NSDate dateWithTimeInterval:5 sinceDate:date];//date2比date晚5秒
3. NSTimeIntelval seconds={date timeInterval since 1970};// 从1970开始走过的秒数
4. 日期格式化类(date转string)
(1)NSDate date=[NSDate date];
NSDateFormatter *formatter=[[NSDateFormatter alloc]init]
formatter.dateFormat=@"yyyy-MM-dd HH:mm:ss";
NSString *str=[formatter stringFormDate:date];
NSLog(@"%@"str);//y年M月d日 m分s秒H(24小时制)h(12小时制)
(2)NSString转NSDate
NSString *time=@"2011/09/10 18:56";
NSDateFormatter *formatter=@"yyyy-MM-dd HH:mm:ss";
NSDate date=[formatter dateFromString:time];
NSLog(@"%@",date);