最新消息:文章中包含代码时,请遵守代码高亮规范!

iOS可变数组NSMutableArray类的copy和mutableCopy讲解【转载】

iOS 李, 永奎 117浏览 0评论

转载自http://blog.it985.com/18601.html

因为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。

转载时请注明出处及相应链接,本文永久地址:http://blog.it985.com/22934.html


pay_weixin
pay_weixin
微信打赏
pay_weixin
支付宝打赏
感谢您对作者Future的打赏,我们会更加努力!    如果您想成为作者,请点我

您必须 登录 才能发表评论!