Objective-C 数组一 "不可变数组"

<pre name="code" class="objc">#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
       
        //不可变数组 NSArray
        //初始化
        //创建一个空数组
        
        NSArray *array1 = [[NSArray alloc] init];
        NSArray *array2 = [NSArray alloc];
        
        //创建一个里面有多个元素的不可变数组
        NSArray *array3 = [NSArray arrayWithObject:@"Rick"];
        NSLog(@"array3 = %@",array3);
        
        //创建一个里面有多个元素的不可变数组
        NSArray *array4 = [NSArray arrayWithObjects:@"zhengyongxai",@"zhengyongya",@"liutao",@"kuncai",nil];
        
        //新语法
        NSArray *array5 = @[@"Rick"];
        NSArray *array6 = @[@"zhengyongxia",@"zhengyongya",@"liutao",@"kuncai"];
        NSLog(@"array6 = %@",array6);
        
        //根据另一个数组产生新的数组
        NSArray *array7 = [NSArray arrayWithArray:array6];
        
        
        //从本地文件读取数组
        NSArray *array8 = [NSArray arrayWithContentsOfFile:@"/Users/ibokan2/Desktop/hello.html"];
        NSLog(@"%@",array8);
        
        //从网络读取数组
        NSURL *url = [NSURL URLWithString:@"www.baidu.com"];
        NSArray *array9 = [NSArray arrayWithContentsOfURL:url];
        
        
        //求数组中的个数
        NSUInteger count = array6.count;
        NSLog(@"%count = ld",count);     // ount = ld
        
        for (int i = 0; i < count; i++) {
            NSString *str = [array6 objectAtIndex:i];   //objectAtIndex对象索引
            NSLog(@"str[%d] = %@",i,str);
        }
        
        
        //新语法访问数组中的元素
        NSString *str2 = array6[0];
        NSLog(@"str2 = %@",str2);   //str2 = zhengyongxia
        
        
        NSNumber *number1 = [NSNumber numberWithInt:5];   //NSNumber    number数量
        //等价于
        NSNumber *number2 = @5;
        NSLog(@"umber1 = %@",number1);   //umber1 = 5
        
        //通过数组中的元素找下标
        NSUInteger index = [array6 indexOfObject:@"zhengyongxia"];   //indexOfObject 索引的对象
        NSLog(@"index = %ld", index);     //index = 0

        //如何判断数组中是否存在某个元素
        bool flge = [array6 containsObject:@"zhengyongxia"];   //containsObject  包含数组
        NSLog(@"flge = %d", flge);    //flge = 1
        
        //向不可变数组中增加一个元素。产生新的不可变数组
        NSArray *newArray1 = [array6 arrayByAddingObject:@"lihuitang"];   //arrayByAddingObject 通过添加对象数组
        NSLog(@"newArray1 = %@",newArray1);
        
        for (id obj in newArray1) {
            NSLog(@"obj = %@", obj);
        }
        
        for (int i = 0; i < [newArray1 count]; i++) {
            NSLog(@"newArray1 = %@",newArray1);
        }
        
        NSString *string = @"123-456-789";
        NSArray *array11 = [string componentsSeparatedByString:@"-"];   //拆 -
        NSLog(@"array11 = %@",array11);
        
        NSArray *arr1 = [string stringByReplacingOccurrencesOfString:@"-" withString:@"~"];   //替换
        NSLog(@"%@",arr1);
        
        NSString *string11 = [newArray1 componentsJoinedByString:@"-"];    //添加 -
        NSLog(@"string11 = %@",string11);
        
        NSArray *array12 = @[@"123",@"456",@"789"];
        
        NSString *array13 = [array12 componentsJoinedByString:@"--"];
        NSLog(@"array13 = %@",array13);
        
        NSArray *array14 = [array13 componentsSeparatedByString:@"--"];    //拆
        NSLog(@"array14 = %@",array14);
//         array14 = (
//                     123,
//                     456,
//                     789
//                 )
        
        
        NSString *string12 = [array14 componentsJoinedByString:@""];
        NSLog(@"string12 = %@",string12);   //string12 = 123456789

        /*
         使用NSArray 类注意事项
         1、数组越界,当访问NSArray 时,索引超出元素个数之后报出一个异常结果。所以最好检查一下索引结果是否越界,然后在进行调用
         2、数组会对加入其中的对象自动把引用计数加一
         3、不能在数组中间存放nil,nil只能出现在数组的最后,因为nil是一个NSArray 结束的标志
         */
        
    }
    return 0;
}



                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值