Objective-c语言_对不可变数组NSArray

#import <Foundation/Foundation.h>


int main(int argc, const char * argv[]) {

    @autoreleasepool {

        /*

         不可变数组 NSArray

         初始化

         创建一个空的数组

         

         */

        NSArray *array1=[[NSArray alloc]init];

        NSArray *array2=[NSArray array];//创建一个空数组

        //创建里面只有一个元素的不可变数组

        NSArray *array3=[NSArray arrayWithObject:@"Rick"];

        //创建里面有多个元素的不可变数组

        NSArray *array4=[NSArray arrayWithObjects:@"zhengxinsheng",@"xuyu",@"shenzhengnan"@"chenyaoxing", nil];

        //nil只能出现在数组的最后,不能出现在数组中存放nil,因为nil是一个NSArray的结束标志。

        

        //新语法

        NSArray  *array5=@[@"Rick"];

        

        NSArray *array6=@[@"zhengxinsheng",@"xuyu",@"shenzhengnan",@"chenyaoxing"];//这里不用写

        

        //用数组产生一个新的数组,根据另一个数组产生一个新的数组

        NSArray *array7=[NSArray arrayWithArray:array6];

        

        //

        NSArray *array8_1=[[NSArray alloc]initWithObjects:@"zhengxinsheng",@"xuyu",@"shenzhengnan",@"chenyaoxing", nil];//这样太麻烦

        

        //从本地未见读取数组

        NSArray *array8=[NSArray arrayWithContentsOfFile:@""];

        

        //从网络文件读取数组

        NSURL *url=[NSURL URLWithString:@""];//这里写网址

        NSArray *array9=[NSArray arrayWithContentsOfURL:url];

                            //等于

       //  NSString *array9=[NSArray arrayWithContentsOfURL:[NSURL URLWithString:@""]];

        

       //求数组中元素的个数

        NSUInteger count=array6.count;//NSUInteger无符号整形

        NSLog(@"%lu",count);

        

        //数组的操作

        //访问数组中的元素

        //访问array6中的第一个元素

        

        NSString *str=[array6 objectAtIndex:0];//访问第一个元素,并用字符串接收,zenxingsheng

        NSLog(@"str=%@",str);

        

        for (int i=0; i<array6.count; i++)

        {

            NSLog(@"str[%d]=%@",i,[array6 objectAtIndex:i]);

        }

        

        //打印数组中的元素(新语法)

        NSString *str2=array6[0];

        NSLog(@"%@",str2);

        

        NSNumber *number=[NSNumber numberWithInt:5];

        //对基本数据类型封装新语法

        NSNumber *number2 = @5;

        

        NSNumber *number3=[NSNumber numberWithBool:YES];

        //等价于

        NSNumber *number4=@YES;

        

        //通过数组中的元素找下标

        NSUInteger index=[array6 indexOfObject:@"zenxinsheng"];

        NSLog(@"index=%lu",index);

        

        //判断数组中是否存在某个元素

        BOOL flag=[array6 containsObject:@"zenxinsheng"];//返回Bool

        NSLog(@"%d",flag);

        

        //向不可变数组中增加一个元素,产生新的不可变数组

        NSArray *newArray1=[array6 arrayByAddingObject:@"wuzhipeng"];

        NSLog(@"%@",newArray1);//把它当做对象输出

        

        NSString *string =@"123-456-789";

        NSArray *array11=[string componentsSeparatedByString:@"-"];

        NSLog(@"%@",array11);

        

        NSString *string11=[newArray1 componentsJoinedByString:@"-"];//用什么字符串连接数组各个元素

        NSLog(@"string11=%@",string11);

        //123-456-789

        

        NSArray *array12=@[@"123",@"456",@"789",@"000"];

        NSString *str12=[array12 componentsJoinedByString:@"-"];

        NSLog(@"%@",str12);

        

        array12=[str12 componentsSeparatedByString:@"-"];//数组接收

        NSLog(@"%@",array12);

        

        /*

         使用NSArray 类注意事项

         1.数组越界:当访问NSArray,索引超出元素个数之后会报出一个异常结果

         ,索引最好检查一下索引结果是否越界,然后在进行调用

         2.数组会对添加其中的对象自动把引用计数加一

         3.不能数组中间存放nilnil只能出现在数组的最后,因为nil 是一个NSArray结束的标志

         */

        


        

    }

    return 0;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值