黑马程序员-Object C之NSArray

来源:互联网 发布:网络招打字员是真的吗 编辑:程序博客网 时间:2024/04/30 17:35

------------------------------ASP.Net+Unity开发、.Net培训、期待与您交流!---------------------------


NSArray 数组的基本代码演示:

1.创建一个数组

void arrayCreate() {    // 创建一个空的数组    NSArray *array = [NSArray array];        // 创建有1个元素的数组    array = [NSArray arrayWithObject:@"123"];        // 创建有多个元素的数组    array = [NSArray arrayWithObjects:@"a", @"b", @"c", nil];    }
2.数组的简单使用

void arrayUse() {    NSObject *obj = [[NSObject alloc] init];    NSArray *array = [NSArray arrayWithObjects:@"a", @"b", @"c" , obj, nil];    // 判断是否包含了某个元素    if ([array containsObject:@"a"]) {        NSLog(@"包含了字符串a");    }    //最后一个对象即 obj    NSObject *last = [array lastObject];    NSLog(@"last=%@", last);    //返回索引为1 的对象,即 b    NSString *str = [array objectAtIndex:1];    NSLog(@"%@", str);    // “c”的索引编号    int index = [array indexOfObject:@"c"];    NSLog(@"index=%i", index);        [obj release];}
3.数组的遍历

#pragma mark 遍历数组1void arrayFor1() {    Student *stu1 = [Student student];    NSArray *array = [NSArray arrayWithObjects:stu1, @"1", @"2", @"3", nil];    int count = array.count;    for (int i = 0; i<count; i++) {        // 取出数组中索引 i 的值        id obj = [array objectAtIndex:i];        NSLog(@"%i-%@", i, obj);    }}#pragma mark 遍历数组2void arrayFor2() {    Student *stu1 = [Student student];    NSArray *array = [NSArray arrayWithObjects:stu1, @"1", @"2", @"3", nil];    // 快速遍历    int i =0;    for (id obj in array) {        NSLog(@"%i-%@", i, obj);        i++;    }}#pragma mark 遍历数组3void arrayFor3() {    Student *stu1 = [Student student];    NSArray *array = [NSArray arrayWithObjects:stu1, @"1", @"2", @"3", nil];    [array enumerateObjectsUsingBlock:     ^(id obj, NSUInteger idx, BOOL *stop) {        NSLog(@"%i-%@", idx, obj);                  // 如果索引为1,就停止遍历         if (idx == 1) {             // 利用指针修改外面BOOL变量的值             *stop = YES;         }    }];}#pragma mark 遍历数组4void arrayFor4() {    Student *stu1 = [Student student];    NSArray *array = [NSArray arrayWithObjects:stu1, @"1", @"2", @"3", nil];        // 获取数组的迭代器    // NSEnumerator *enumerator = [array objectEnumerator];    // 反序迭代器(从尾部开始遍历元素)    NSEnumerator *enumerator = [array reverseObjectEnumerator];        // allObjects是取出没有被遍历过的对象    NSArray *array2 = [enumerator allObjects];    NSLog(@"array2:%@", array2);        // 获取下一个需要遍历的元素    id obj = nil;    while (obj = [enumerator nextObject]) {        NSLog(@"obj=%@", obj);    }}

-----------------------------ASP.Net+Unity开发、.Net培训、期待与您交流!-------------------------

详细请查看:www.itheima.com


0 0
原创粉丝点击