Objective-C基础学习之NSArray 遍历

1.NSArray的下标遍历

    NSArray *arr = @[p1, p2, p3, p4, p5];
    for (int i = 0; i < arr.count; ++i) {
        Person *p = arr[i];
        [p say];
    }

2.NSArray的快速遍历

    NSArray *arr = @[p1, p2, p3, p4, p5];
   for (Person *p in arr) {
        [p say];
    }

3.NSArray 使用block进行遍历

    [arr enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {
        NSLog(@"obj = %@, idx = %lu", obj, idx);
        Person *p = obj;
        [p say];
    }];

4.NSArray给所有元素发消息

  • 让集合里面的所有元素都执行aSelector这个方法
    • -(void)makeObjectsPerformSelector:(SEL)aSelector;
    • -(void)makeObjectsPerformSelector:(SEL)aSelector withObject:(id)argument;
    // 让数组中所有对象执行这个方法
    // 注意: 如果数组中的对象没有这个方法会报错
//    [arr makeObjectsPerformSelector:@selector(say)];
    [arr makeObjectsPerformSelector:@selector(eat:) withObject:@"bread"];

你可能感兴趣的:(Objective-C基础学习之NSArray 遍历)