zoukankan      html  css  js  c++  java
  • OC中数组的使用方法

    #import <Foundation/Foundation.h>

    int main(int argc, const char * argv[])
    {
        
    // 创建数组
        
    NSArray *arr1 = nil;
    //    NSLog(@"%p", arr1);
        
    NSObject *obj = [NSObject new];
        arr1 = [
    NSArray arrayWithObjects:@"One"@"Two"@"Three", obj, nil];//结束标识,相当于C语言的“”
    //    NSLog(@"%p", arr1);
        
    NSLog(@"arr1: %@", arr1);
        
        
    // 推荐以下的新语法
        
    NSString *str = @"Hello";
        
    NSArray *arr2 = @[@"zhangsan"@"lisi"@"wangwu"@"zhaoliu" ,@"tianqi", str];//这样的方法自己主动在后面加入了nil
        
    NSLog(@"arr2: %@", arr2);
        
        
    // 訪问数组成员 objectAtIndex
    //    NSObject *tmpObj = [arr1 objectAtIndex:3];
        
    id tmpObj = [arr1 objectAtIndex:3];
        
    NSLog(@"tmpObj: %@", tmpObj);
        
        
    // 推荐使用以下的新语法
        tmpObj = arr2[
    2];
        
    NSLog(@"arr2[2]: %@", tmpObj);
        
        
    // 可变数组
        
    NSMutableArray *firstArr = [NSMutableArray arrayWithCapacity:30];
        
    // 加入
        [firstArr 
    addObject:@"One"];
        [firstArr 
    addObject:@"Two"];
        [firstArr 
    addObject:@"Three"];
        [firstArr 
    addObject:@"Four"];
        [firstArr 
    addObject:@"Five"];
        
        
    NSLog(@"The Mutable Array: %@", firstArr);
        
        
    NSMutableArray *secArr = [NSMutableArray arrayWithArray:arr2];
        
    NSLog(@"secArr: %@", secArr);
        
        
    // 删除
        [secArr 
    removeObject:@"tianqi"];
        
    NSLog(@"==secArr: %@", secArr);
        [secArr 
    removeObjectAtIndex:2];
        
    NSLog(@"===secArr: %@", secArr);
        
        
    // 插入
        [secArr 
    insertObject:@"wangwu" atIndex:2];//id 是对象  index 是位置
        
    NSLog(@"after insert: %@", secArr);
        
        
    // 替换
        
    NSObject *someObj = [NSObject new];
        [secArr 
    replaceObjectAtIndex:4 withObject:someObj];
        
    NSLog(@"after replace: %@", secArr);

        
        
    // C语言遍历数组
        
    NSUInteger number = [secArr count];
        
    for (int i = 0; i < number; i++) {
            
    id obj = secArr[i];
            
    NSLog(@"%@", obj);
        }
        
        
        
    // 通过枚举器来遍历数组(正着遍历)
        
    NSEnumerator *enum1 = [secArr objectEnumerator];
        
    id obj1;
        
    NSLog(@"*************************");
        
    while (obj1 = [enum1 nextObject]) {
            
    NSLog(@"obj1: %@", obj1);
        }
        
        // 通过枚举器来遍历数组(倒着遍历)   
        NSEnumerator *enum2 = [secArr reverseObjectEnumerator];
        
    while (obj1 = [enum2 nextObject]) {
            
    NSLog(@"reverse: %@", obj1);
        }
        
        
    NSLog(@"============================");
        
    // 高速枚举
        
    for (id obj in secArr) {
            
    NSLog(@"Fast Enumeration: %@", obj);
        }
        
        
        
    return 0;
    }
  • 相关阅读:
    MSSQL ADO.NET
    MSSQL 详解SQL Server连接(内连接、外连接、交叉连接)
    MSSQL DBOtherSQL
    java8时间转换成字符串
    泛型
    给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。
    利用栈判断有效的括号
    回文数
    service层对 @NotBlank注解起作用
    集合的使用
  • 原文地址:https://www.cnblogs.com/mfmdaoyou/p/6731619.html
Copyright © 2011-2022 走看看