千家信息网

如何理解OC中的copy和mutableCopy

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,如何理解OC中的copy和mutableCopy,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。OC中,复制有两种: copy 和 mut
千家信息网最后更新 2025年01月19日如何理解OC中的copy和mutableCopy

如何理解OC中的copy和mutableCopy,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

OC中,复制有两种: copy 和 mutableCopy。顾名思义,是生成不可变或可变的对象。关于复制出来的到底是新对象还是原来对象,请参考一下代码:

#import int main(int argc, char *argv[]) {        @autoreleasepool {                NSString *s1 = @"haha";                NSString *s2 = [s1 copy];                NSMutableString *s3 = [s1 mutableCopy];                NSString *s4 = [s3 copy];                                NSLog(@"s1 addr = %p", s1);                NSLog(@"s2 addr = %p", s2);                NSLog(@"s3 addr = %p", s3);                NSLog(@"s4 addr = %p", s4);        }}

输出的结果为:

s1 addr = 0x10a2e6030

s2 addr = 0x10a2e6030

s3 addr = 0x7fd0b940c6e0

s4 addr = 0x6168616845

由此可见,对不可变对象进行copy操作,不会产生新的对象,而是指向原来对象。其他的都是会生成一个新的复制品


copymutableCopy
可变对象
新对象新对象
不可变对象原来对象新对象

看完上述内容,你们掌握如何理解OC中的copy和mutableCopy的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

对象 可变 内容 方法 更多 问题 生成 束手无策 顾名思义 为此 代码 原因 复制品 对此 技能 指向 由此 由此可见 篇文章 经验 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 珠海医疗软件开发 网络技术是青春饭吗 强制橱窗软件开发 网络安全等级保护工作先进单位 梳理网络安全情报的软件 mysql数据库的用户权限管理 软件开发的最大风险 宵云服务器 死店 海康威视修改服务器提示参数错误 靖江工业网络技术参考价格 魔兽世界天谴之门服务器人多吗 个人网站需要什么性能的服务器 互联网网络技术实验室 国智网络安全 上海夺畅网络技术有限公司深圳分公司面试 韶关东塔网络安全学院包住宿 服务器黑屏只能看到任务管理器 金融行业软件开发资质 互联网科技有限公司造车 全球网络安全议题大全 数据库影响访问人数吗 安卓life软件开发者 手机app软件开发贵吗 网络安全管理局王梅芳 杭州火蚁网络技术集团 戴尔服务器 售后电话 SQL数据库许可限制值设定 网络安全教育图片高清 网络安全侵犯处理中心 rack tower服务器
0