Objective-C 不可变数组

本文详细介绍了Objective-C中NSArray的基本操作,包括数组的创建、访问元素、数组操作方法如追加对象、连接字符串等,同时深入探讨了如何利用枚举器进行数组遍历。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#import <Foundation/Foundation.h>


int main(int argc,constchar * argv[])

{


    @autoreleasepool {

        

    

       

// 不可变数组

        //数组中不能存放基本数据类型

        //创建数组

        NSArray *array1 = [NSArray arrayWithObject:@"one"];

        NSArray *array2 = [NSArray arrayWithObjects:@"one",@"two",nil];

        NSArray *array3 = [NSArray arrayWithArray:array2];

        NSLog(@"array1: %@",array1);

        NSLog(@"array2: %@",array2);

        NSLog(@"array3: %@",array3);

        //实例方法

        NSArray *array4 = [[NSArray alloc]initWithArray:array1];

        

        NSLog(@"array4:%@",array4);

        

        

        

        //获取数组中的元素个数和访问

        int count = [array2 count];

        NSLog(@"array2 all element :%d",count);

        

        

        NSString *string1 = [array2 objectAtIndex:1];

        NSLog(@"element of array:%@",string1);

        

        

        //在原数组中追加一个对象返回一个新的数组对象

        NSArray *array5 = [array2 arrayByAddingObject:@"end"];

        NSLog(@"array5:%@",array5);

        

        //用指定的字符串将数组中的元素连接起来

        NSString *string2 = [array5 componentsJoinedByString:@","];

        NSLog(@"string2 :%@",string2);

        

        //判断数组中是否存在一个指定的对象

        BOOL isContain = [array5 containsObject:@"end"];

        NSLog(@"isContain:%d",isContain);

        //根据指定的对象返回索引下标,返回数组中最后一个元素

        NSInteger index = [array5 indexOfObject:@"end"];

        NSLog(@"index :%ld",(long)index);

        NSString *lastObject = [array5 lastObject];

        NSLog(@"last object :%@",lastObject);








        

        

        //枚举器——NSEnmerator

    //objectEnumerator:向数组请求枚举器

    //nextObject:下一个对象

       //正向枚举

       NSEnumerator *enumerator;

        enumerator = [arrayobjectEnumerator];

        

       id obj;//定义一个万能指针

        

       while (obj = [enumeratornextObject]) {

           NSLog(@"I found %@",obj);

        }

        

        NSLog(@"------------------------------");

        

    //reverseObjectEnumerator:从后向前浏览集合

        

       //反向枚举

        enumerator = [arrayreverseObjectEnumerator];

        

       id obj1;//定义一个万能指针

        

       while (obj1 = [enumeratornextObject]) {

           NSLog(@"I found %@",obj1);

        }


        NSLog(@"-----------------------------");

        

        

        //快速枚举(只有正向枚举)

        //对数组进行快速枚举会遍历数组中的每个元素

       for(id objin array)

        {

           NSLog(@"I found %@",obj);

        }

        

        

        

        

        

        

        

        

        

        

        

        

        

        

        

        

        

        

    }

   return0;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值