oc学习之旅:NSArray

OC中NSArray保存id类型得数据

相当于加方法

NSArray *arr = @[@"0",@"1",@"2"];

表示数组元素个数

arr.count

NSArray为静态数组,初始化后不能被修改。

NSArray * arr1 = [[NSArray alloc] initWithObjects:@"1",@"2",@"3",nil];

NSArray * arr2 = [NSArray arrayWithObjects:@"1",@"2",@"3",nil];

数组中能潜逃数组

NSArray * arr3 = [NSArray arrayWithObjects:arr,@"wahaha",arr1,arr2,nil];

NSArray * arr4 = @"hello world";

判断一个对象是某个类的方法

使用__unsafe_unretained 弱引用  可以理解为非ARC中的assgin

不能用来修饰属性 成员变量

ARC中的弱引用weak (weak可以修饰属性 在对象使用完后归零,用完时候a=nil);

BOOL flag = [arr4 isKindOfClass:[NSArray class]];

if(flag)

{

NSLog(@"arr4 是一个NSString类型的对象");

}

else NSLog(@"arr4是一个NSString类型的对象");


数组遍历

1.枚举器

NSEnumerator * enumerator = [arr1 objectEnumerator];

while(id obj = [enumerator nextObect]){

NSLog(@"%@",obj);

}

2.遍历数组方法

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

{NSLog(@"%@",arr1[i]);}

3.快速枚举法

for(id obj in arr)

{

NSLog(@"%@",obj);

}


取出数组中的某一个元素

id obj = arr1[0];

id obj1 = [arr1 objectAtIndex:0];

if(obj isEqualToString:obj1)

{

  NSLog(@"字符串相等");

}

NSLog(@"obj %p , obj1 %p",obj,obj1);


判断数组中是字符串还是数组

       NSArray* arr5 =@[arr1,@"student1",@"student2",arr2,arr4,@"student3"];

        int i =0;

        for (id obj in arr5) {

            

            if([arr5[i] isKindOfClass:[NSArray class]])

            {

                NSLog(@"arr5[%i] is NSArray:%@",i,obj);

            }

            else

                NSLog(@"arr5[%i] is NSSting:%@",i,obj);

            i++;

        }


可变字符串

NSMutableArray * arr1 = [NSMutableArray array];

NSMutableArray * arr2 = [[NSMutableArray] init];

NSMutableArray * arr3 = [[NSMutableArray] initWithArray:arr1];

NSMutbaleArray * arr4 = [[NSMutableArray alloc] initWithCapacity:10];//速度更快

NSMutableArray * arr5 = [[NSMutableArray alloc] arrayWithObject:(id),…,nil];


常用的增删改查

        NSMutableArray * arr = [[NSMutableArray alloc] init];

        for(int i =0;i<10;i++)

        {

            [arr addObject:[NSString stringWithFormat:@"stduent%i",i]];

        }

        NSLog(@"arr is %@",arr);

删除第三个元素

        [arr removeObjectAtIndex:2];

        for(id obj in arr)

        {

            NSLog(@"%@",obj);

        }

删除第五个到第七个元素

        [arr removeObjectsInRange:NSMakeRange(4,3)];

        for(id obj in arr)

        {

            NSLog(@"%@",obj);

        }


[arr replaceObjectAtIndex:0 withObject:@"student1000"];

[arr objectAtIndex:0];


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值