目录
  • 引言
  • 值传递
  • 引用传递

引言

值类型在传递和赋值时将进行复制,而引用类型只会使用引用对象。

Swift中定义的很多类型都是值类型,如struct、enum以及所有的内建类型(Int、Bool、String、Array、Dictionary)都是值类型。class为引用类型。

以最常用的数组为例

值传递

A,B两个类各有一个Array,把B的arr赋值为A的arr,然后给B的arr添加一个元素。

运行看到A的arr没有改变,两个arr的hashValue不同,是两个对象。赋值时是值传递。

iOS Swift 值类型与引用类型使用区别基础详解

引用传递

在上面基础上,将arr的类型改成NSMutableArray,添加方法改成add,其他的不变。

运行看到A的arr也改变了,两个arr的hashValue相同,是同一个对象。赋值时是引用传递。

iOS Swift 值类型与引用类型使用区别基础详解

以上就是iOS Swift 值类型与引用类型使用区别基础详解的详细内容,更多关于iOS Swift值类型引用类型的资料请关注其它相关文章!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。