遍历

1、快速遍历

for(id obj in array)

{

  //找出obj元素在数组中的位置

NSUInteger i = [array indexOfObject:obj];

}

2、Block遍历

//每遍历到一元素,就会调用一次block,并且当前元素和索引位置当做参数传给block

[array enumerateObjectsUsingBlock: ^(id obj,NSUInteger idx ,BOOL *stop){

    NSLog(@"%ld--%@",idx,obj);

    if(idx == 0)

{

    //停止遍历,到0就停止,即遍历一次

*stop = YEX;

}

}];

例子:计算代码行数

NSString *content = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];//加载文件内容

NSArray *array= [content componentsSepatatedByString:@" "];//用" “分割代码成数组

最后计算数组的个数

计算文件夹下的所有文件的所有代码行数

NSFileManager *mgr = [NSFileManager deaultManager];//获得文件管理者

BOOL dir = NO;//标记是否为文件夹

BOOL exist = [mgr fileExistsAtPath:path isDirectory:&dir];//判断path这个路径是否存在

if(dir)//如果存在

{

  NSArray *array = [mgr contents0fDirectoryAtPath:path error:nil];//装着当前文件夹下面的所有内容(文件夹,文件)

int count = 0;

for(NSString *filename in array)//遍历数组中的所有文件(夹)名

{

 NSString *fullpath = [NSString stringWithFormat:@"%@/%@",path,filename];//子文件(夹)的全路径

cout += codeLineCount(fullPath);//累加每个子路径的总行数

}

return count;

}

else//dir不存在

{

。。。。。

}

原文地址:https://www.cnblogs.com/zhongxuan/p/4848798.html