NSArry 常用方法...enumerateObjectsUsingBlock:

来源:互联网 发布:桥本奈奈未 知乎 编辑:程序博客网 时间:2024/05/08 16:11
#import <Foundation/Foundation.h>int main(int argc, const char * argv[]){@autoreleasepool {NSArray * arr1 = [NSArray array];NSArray * arr2 = [NSArray arrayWithObject:@"aaa"];// nil 表示数组赋值结束..NSArray * arr3 = [NSArray arrayWithObjects:@"aaa", @"bbb", nil];NSArray * arr4 = [[NSArray alloc] initWithObjects:@"one", @"two", [NSNull null], @"four", nil];NSArray * arr5 = [NSArray arrayWithArray:arr4];NSLog(@"%@", arr5);// c语言数组 大小获取 sizeof(a)/sizeof(int)NSUInteger length = [arr5 count];NSLog(@"%lu", length);id variable = [arr5 objectAtIndex:3];NSLog(@"%@", variable);NSInteger index = [arr5 indexOfObject:@"four"];NSLog(@"%lu", index);BOOL b = [arr5 containsObject:@"four"];if (b) {NSLog(@"array contains four");NSLog(@"four inside the array");}else {NSLog(@"Array does not contain four");NSLog(@"four not in the array");}// 简化版 定义数组...NSArray * arr = @[ @"one", @"two", @"three", @"four" ];NSLog(@"%@", arr);// 简化版 访问 数组元素NSString * str = arr[2];NSLog(@"%@", str);// 遍历数组// 方法1:for (int i = 0; i < arr.count; i++) {NSLog(@"%@", arr[i]);}// 方法2: 快速枚举法for (NSString * str in arr) {NSLog(@"%@", str);}// 方法3: 使用block的方式, 进行访问[arr enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {    if (idx == 2) {                // 指针变量赋值, stop是个指针, 想修改 stop指向的内存空间的内容, *stop 赋值    *stop = YES;    }    else {    NSLog(@"%@ index = %lu", obj, idx);    }}];}return 0;}

0 0