黑马程序员——Objective-C——Foundation框架:集合及其它类

-----Java培训、Android培训、iOS培训、.Net培训、期待与您交流!-----
一、集合类
  用来存储多个对象。
  1>NSArray
    1.只能存储OC对象,不能存放非oc对象
    2.它是一个不可变更的数组,创建时有多少个元素,就一直有多少个不能变更。
    3.创建:

//NSArray对象
//空数组
NSArray *arr=[NSArray array];
//创建时初始化 只有一个
NSArray *array1=[NSArray arrayWithObject:@"jack"];
//创建多个元素,nil代表元素结束 不能存放nil值
NSArray *array2=[NSArray arrayWithObjects:类名,类名,nil];
//快速创建
NSArray *array3=@[类名,类名,类名];
//元素总数
array.count; 等价 [array count];
//访问某个位置的元素
[array objectAtIndex:索引值];等价 array[索引值];

     4.遍历

//方法1.
for(id obj in 数组名)
{
    //代码内容
}
//方法2. block
[数组名 enumerateObjectUsingBlock:^(id obj,NSUInteger idx,BOOL *stop)
{
    //id obj 表示对象
    //NSUInteger idx 表示索引值
    //BOOL *stop 表示遍历是否结束
}
]

    2>NSMutableArray
    1.可变数组
    2.创建:

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>NSSet
    1.数组元素没有顺序
    2.不可变
    3.创建

NSSet set=[NSSet setWithObjects:@"jack",@"jim",nil];
//数组元素个数
[set count];等价 set.count;
//取值-随机取值
[set anyObject];

  4>NSMutableSet
    1.特点:无序、可变
    2.创建:

NSMutableSet s=[NSMutableSet set];
//添加元素
[s addObject:@"jack"];
//移除元素
[s removeAllObjects];
//2.移除特定对象
[removeObject:@"jack"];

  5>NSSet和NsArray对比:
    1>共同点
      都是集合,都能存放oc对象。
      不能存放非oc对象。
    2>不同点
      NSArray有顺序,NSSet无序。
  6>NSDictionary 字典数组
    1.功能:key-value 根据key来找值
    2.创建:

//1.
NSDictionary *名称=[NSDictionary dictionaryWithObjectsAndKeys:键名,键值,nil];
//2.
NSDictionary *名称=@{键名:键值,键名:键值}

    3.示例代码:

NSArray *keys=@[@"name",@"address"];
NSArray *values=@[@"jack",@"北京"];
NSDictionary *dict=[NSDictonary dictonaryWithObjects:values forKeys:keys];
id obj=[dict objectForKey:@"name"];

  7>NSMutableDictonary
    1.特点:可变
    2.创建:

NSMutableDictionary *dic=[NSMutableDictionary dictionary];
//添加键值对,这些键值对是没有顺序的
[dic setObject:@"jack" forKey:@"name"];
[dic setObject:@"北京" forKey:@"address"];
//删除
[dic removeAllObjects]//删除全部
[dic removeObjectForKey:key]//通用key名称进行删除


 二、NSNumber、NSValue、NSDate
  1>NSNumber
    1.用来包装基本数据类型。
    2.使用:
      NSNumber *n=[NSNumber numberWithInt:1];//将1包装成NSNumber OC类型。
    3.被包装后还原基本数据类型
      -(char)charValue;
      -(int)intValue;
      -(float)floatValue;
      -(BOOL)boolValue;
      -(NSString)stringValue;
    4.NSNumber之所以能包装基本数据类型为对象,是因为继承了NSValue;
  2>NSValue
    1.结构体不是oc对象。
    2.将结构体包装:
      CGpoint p=CGPoint(10,10);
      [NSValue valueWithPoint:p];
      NSArray *array=@[value];
    3.NSValue 可包装任何类型。
  3>NSDate
    1.它是一个时间类。
    2.创建  

NSDate *d=[NSDate date];//格林时间
NSLog(@"%@",d);
NSDate *d2=[NSDate dateWithTimeInterval:5 sinceDate:d];//晚
NSLog(@"%@",d2);
//日期格式化
NSDateFormatter *f=[[NSDateFormatter allco]init];
f.formatter=@"yyyy-MM-dd";//yyyy-MM-dd HH:mm:ss
NSString *s= [f stringFormatDate:d];
NSLog(@"%@",s);

 

转载于:https://www.cnblogs.com/comcn/p/4356890.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值