Foundation——集合类

一、 NSArray只能翻oc对象,不能放基本数据类型,为不可变数组。

    1、不可变数组,你在定义它的时候,没有存放任何OC对象,那么它永远是空数组。

NSArray *array = [NSArray array];

   2、数组最后的nil是数组的结束标记,并且oc数组不能存放空指针

 NSArray *array = [NSArray arrayWithObjects:@“2”, @“2”,nil];
 NSArray *array = @[“”,””,””];//C语言数组用的是大括

  3、取得数组里面对象有两种方法

[array objectAtIndex:i];//面相对象方法
 array[i];//编译器特性

4、快速遍历数组

复制代码
 1  for(id obj in Array){
 2  //缺点不知道第几次,他没循环一次,自动会复值给obj
 3  NSLog(“%@“, obj);
 4  //有一个方法是找出数组元素在数组中的位置
 5  NSUInteger i = [array indexOfObject:obj];
 6  }
 7 [array enumerateObjectsUseingBlock:^(id obj, NSUInteger idx,BOOL *stop){
 8  //obj就是每次取出来的对象
 9 //如果想停止,则调用*stop = YES;stop是指针,*stop才是变量值。
10  }]
11 NSSoredDescriptor sortDescriptroWithKey:对象的成员变量 asceding:升序降序。
12 array sortedArrayUsingDescritptor:array];
复制代码

二、判断一个路径是文件还是文件夹
     1、单例模式,整个文件系统,公用一个文件管理

NSFileManger *mgr = [NSFileManager deaultManger];

     2、判断文件的扩展名,如果是.m或.h文件才计算

NSStting *str =[path pathExtension];

     3、判读一个路径里面试文件还是文件夹

1 BOOL dir = NO;
2  //程序执行完后,就会改变bool的值,返回值是传的路径是否存在
3  BOOL ifExist =[mgr filesExistAtPath:path isDirectory:*dir];
4 如果是陌路dir==YES,然后取得文件夹里的所有文件
5  NSArray *array = [mgr contentsOfDirectoryAtPath:path error:nil];

 三、NSMutableArray
    

addObject//添加对象方法
removeAllObject//删除所有对象
removeObject:Object//删除指定对象
removeObjectAtIndex:Int//删除指定位置的对象
// 快速创建可变数组,不能@[];返回的是不可变数组。

 四、 NSSet NSMutableSet

setWithObject://类方法添加对象构造一个不可变set
anyObject//随即访问,没有顺序
addObject
removeObject
set和array的共同点都是集合,都有一个可变的子类,都职能存放oc对象。

五、NSDictionary NSMutableDictionary
     1、字典也是无序的,当设置重复key值,则覆盖

 NSDictionary *dic = [NSDictionary dictionatyWithObject:  forkey:];
NSDictionary *dic = [NSDictionary dictionaryWithObjects:NSArray forkeys:NSArray];
NSDictionary *dic = @{key : object,};
dic[@“”];
 [dic objectForKey:@“”]

     2、遍历字典,两中方法allKeys取出所有的key值装在一个数组中,之后循环取值。

//遍历
 enumerateKeysAndObjectsUseingBlock:^(id, id obj, BOOL *stop)

     3、数组不能直接复制,需要使用函数拷贝,如果使用指针数组可以直接赋值

复制代码
               /*temp=p[i];

                p[i]=p[j];

                p[j]=temp;*/

                strcpy(temp, p[i]);

                strcpy(p[i], p[j]);

                strcpy(p[j], temp)
复制代码

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值