一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

iOS可变数组NSMutableArray类的copy和mutableCopy讲解

时间:2016-11-10 编辑:简简单单 来源:一聚教程网

因为NSArray遵守NSCopying和NSMutableCopying协议,查看NSArray.h可知NSMutableArray继承自NSArray,所以NSMutableArray的对象可以直接使用copy和mutableCopy,并且不用实现协议中的方法。

    NSMutableArray *mutableArray = [NSMutableArray arrayWithObjects:@"1",@"2",@"3", nil];
    NSLog(@"mutableArray = %p",mutableArray);//查看mutableArray的地址
   
    NSMutableArray *mutableArray1 = [mutableArray copy];//使用copy方法
    NSLog(@"mutableArray1 is NSMutableArray = %@",[mutableArray1 isKindOfClass:[NSMutableArray class]]?@"YES":@"NO");//查看mutableArray1是否是NSMutableArray
    NSLog(@"copy1 = %p",mutableArray1);//打印地址
   
    NSMutableArray *mutableArray2 = [mutableArray mutableCopy];//使用mutableCopy方法
    NSLog(@"mutableArray2 is NSMutableArray = %@",[mutableArray2 isKindOfClass:[NSMutableArray class]]?@"YES":@"NO");//查看mutableArray2是否是NSMutableArray
    NSLog(@"copy2 = %p",mutableArray2);//打印地址

总结:copy和mutableCopy获取到的都是新的对象,copy获取到的是不可变数组NSArray,mutableCopy获取到的是可变数组NSMutableArray。

 

热门栏目