copy mutableCopy
/// https://blog.csdn.net/qq_18425655/article/details/51325921 /// 深拷贝和浅拷贝的区别。 /// 浅拷贝复制容器。 /// 深拷贝复制容器和容器内的元素。 /// 所有系统类的copy和mutableCopy都是浅拷贝。 /// 拷贝是相对于容器而言的,字符串不是容器,故不存在深浅拷贝. /// 故copy, 和 mutableCopy, 是相对于生成的新对象是否可变。 /// 通过下面输出结果可以看出 arr数组中的元素也随之改变。故容器内元素没有被拷贝。也是浅拷贝。 NSMutableArray *ar = [NSMutableArray arrayWithObjects:@1, nil]; NSMutableArray *arr = [NSMutableArray arrayWithObjects:ar, nil]; NSMutableArray *arr2 = [arr mutableCopy]; [arr2[0] addObject:@2]; NSLog(@"%@", arr[0]);
输出结果
NSMutableString *a = [[NSMutableString alloc] initWithString:@"111"]; NSMutableString *b = a; /// 生成的是不可变字符串。 NSMutableString *c = [a copy]; [a appendString:@"222"]; NSLog(@"%p %p %p", a, b, c); NSLog(@"%@ %@ %@", a, b, c);
输出结果
继承层次的关系。
http://www.cocoachina.com/ios/20171010/20716.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix