遍历数组的三种方式:
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 :文件管理者,采取的是单利模式
//获取文件路径
NSString *name = [[path pathExtension] lowercaseString];