引言
值类型在传递和赋值时将进行复制,而引用类型只会使用引用对象。
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 swift 值类型与引用类型使用区别基础详解的详细内容,更多关于ios swift值类型引用类型的资料请关注代码网其它相关文章!
发表评论