OC-NSArray数组的三种遍历方式和排序方法

#import <Foundation/Foundation.h>
-(void)sort{
    NSArray *array = @[@(1),@(8),@(2),@(6)];
    [array sortedArrayUsingComparator:^NSComparisonResult(NSNumber *num1, NSNumber *num2) {
        //升序
        return [num1 compare:num2];
        //降序
        return [num2 compare:num1];
    }];
}

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        NSArray *ary = @[@(10),@"lovke",@"qiuxuewei",@"王珂惠",@(813)];
        
        //方式一:for()
        for ( int i=0; i<ary.count; i++) {
            NSLog(@"%@",ary[i]);
        }
        
        //方式二:for in 循环ary数组里的每一个obj元素
        for (id obj in ary) {
            //找出元素的索引
            NSUInteger i = [ary indexOfObject:obj];
            NSLog(@"%ld-----%@",i,obj);
        }
        
        //方式三:block 每遍历一次都会调用一次block,并且把当前位置和索引传入block
        //*stop 表示何时停止遍历
        [ary enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
            NSLog(@"%ld +++++ %@",idx,obj);
            if (idx == 3) {
                //*stop默认是NO
                *stop = YES;
            }
        }];
    }
    return 0;
}

你可能感兴趣的:(java,IO流)