Foundation小结02

来源:互联网 发布:淘宝店家推荐 编辑:程序博客网 时间:2024/06/03 10:12

NSSet

//和NSArray的区别:他是无序的

NSMutableSet:可变的

初始化的方法:NSSet *s = [NSSet  setWithObjects:id……,nil];

取出的方法:[s anyObject]//随机拿出一个对象

  NSMutableSet:可变的

初始化:NSMutableSet *s = [NSMutableSet  set];

[s  addObject:id];

[s  removeObject:id];

 

 

 NSDictionary

//存的都是键值对

初始化方式:

NSDictionary *dict= [NSDictionary  dictionaryWihObject:id         forKey:key]

NSDictionary*dict= [NSDictionary  dictionaryWihObjects:NSArray      forKey:NSArray]

NSDictionary*dict=[NSDictionary  dictionaryWihObject:sAndKeys :id……,nil]//id指的是先值后建依次存储

特性:NSDictionary*dict = @{key:值,……}//快速初始化的方式,一般都用新特性来初始化

 

方法:[dict objectForKey:id];//根据健取出对应的对象

方法新特性:id obj = dict[@”key”];//通过key取出值的方法

 

NSMutableDictionary:可变的字典

NSMutableDictionary*dict = [NSMutableDictionary  dictionary];

添加键值对:

[dict  setObject:值  forKey:key](字典也是无序的)

当再次给同样的key设置一个值的时候会覆盖上次的值

移除键值对:[dict removeObjectForKey:id];

打印字典:打印的是所有的键值对

快速访问字段元素:字典名[key];

字典的遍历:

利用block方式较为方便:

[dict  enumerateAndObjectsUsingBlock:^(id key, idobj, BOOL *stop)  //stop只要变为YES就停止遍历

{

         NSLog(@“%@--%@”,key,obj);

}]

 

NSNumber:将基本数据类型转化成对象

快速包装的方法:@10,@YES,@‘A’

如果遇到:int age = 10;

我们不能写成@age,而必须写成@(age)。

将NSNumber对象转化成基本数据类型的方法:

NSNumber *n = [NSNumber  numberWithInt:10];

[n  intValue];

不同数据类型只需修改变量类型即可。

 

NSNumber之所以能包装基本数据类型为对象是因为它继承了NSValue。

0 0
原创粉丝点击