iOS-Swift-值类型与引用类型使用区别
值类型在传递和赋值时将进行复制,而引用类型只会使用引用对象。
Swift中定义的很多类型都是值类型,如struct、enum以及所有的内建类型(Int、Bool、String、Array、Dictionary)都是值类型。class为引用类型。
以最常用的数组为例
值传递
A,B两个类各有一个Array,把B的arr赋值为A的arr,然后给B的arr添加一个元素。
运行看到A的arr没有改变,两个arr的hashValue不同,是两个对象。赋值时是值传递。
引用传递
在上面基础上,将arr的类型改成NSMutableArray,添加方法改成add,其他的不变。
运行看到A的arr也改变了,两个arr的hashValue相同,是同一个对象。赋值时是引用传递。
分类:
iOS
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)