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不存在
{
。。。。。
}