OC基础之 ---------- NSArray -------NSFileManager

来源:互联网 发布:比特币 软件 编辑:程序博客网 时间:2024/06/03 15:51

遍历数组的三种方式:

   Person *p = [[Person alloc]init];
        NSString *name  = @"jack";
        NSArray *array = @[name,p];
        
        //便利数组
    //第一种
        for (int i = 0; i < array.count; i++) {
            NSLog(@"%@",array[i]);
        }
        
   //第二种
        NSUInteger i = 0;
        for (id obj in array) {
            i = [array indexOfObject:obj];
            NSLog(@"%ld ------- %@",i,obj);
        }
    //第三种  每拿到一个元素,调用一下block
        /**
         *  遍历数组
         *  @param obj  返回的数组里面的元素
         *  @param idx  索引
         *  @param stop 停止数组
         */
        [array enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
            NSLog(@"%ld -------- %@",idx,obj);
            if (idx == 1) {
                stop = NO;
            }
        }];
        
    //第三种block 遍历数组分析
       // 首先创建一个block块  停止数组遍历
        void (^myblock)(id,NSUInteger,BOOL *) = ^(id obj , NSUInteger idx,BOOL *stop){
            NSLog(@"%ld ----- %@",idx,obj);
            if (idx == 0) {
                //停止遍历
                *stop = YES;
            }
        };
        for (int  i = 0; i < array.count; i++) {
            BOOL  isStop = NO;
            id obj = array[i];
            myblock(obj, i, &isStop);
            if (isStop) {
                break;
            }
        }
        
        

2 。 计算一个文件有多少行

//计算一个文件有多少行
NSUInteger indexCount(NSString *path){
    NSString *string = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
    /**
     *  将\n作为一个标示  每遇到一次,分为一个对象装进数组。
     */
    NSArray *array  = [string componentsSeparatedByString:@"\n"];
    return array.count;
}


NSFileManager  :文件管理者,采取的是单利模式

//获取文件路径


//5。 获取文件拓展名 ,先将文件后缀改为小写  再获取
     NSString *name =  [[path pathExtension] lowercaseString];


0 0
原创粉丝点击