阿尔法大米 發表於 2023-7-5 11:11:47

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

<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li>引言</li><li>值传递</li><li>引用传递</li></ul></div><p class="maodian"></p><h2>引言</h2>
<p>值类型在传递和赋值时将进行复制,而引用类型只会使用引用对象。</p>
<p>Swift中定义的很多类型都是值类型,如struct、enum以及所有的内建类型(Int、Bool、String、Array、Dictionary)都是值类型。class为引用类型。</p>
<p>以最常用的数组为例</p>
<p class="maodian"></p><h2>值传递</h2>
<p>A,B两个类各有一个Array,把B的arr赋值为A的arr,然后给B的arr添加一个元素。</p>
<p>运行看到A的arr没有改变,两个arr的hashValue不同,是两个对象。赋值时是值传递。</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202307/2023070509292909.jpg" /></p>
<p class="maodian"></p><h2>引用传递</h2>
<p>在上面基础上,将arr的类型改成NSMutableArray,添加方法改成add,其他的不变。</p>
<p>运行看到A的arr也改变了,两个arr的hashValue相同,是同一个对象。赋值时是引用传递。</p>
<p style="text-align:center"><img alt="" src="https://img.jbzj.com/file_images/article/202307/20230705092929010.jpg" /></p>
<p>以上就是iOS Swift 值类型与引用类型使用区别基础详解的详细内容,更多关于iOS Swift值类型引用类型的资料请关注琼殿技术社区其它相关文章!</p>
                           
                            <div class="art_xg">
                              <b>您可能感兴趣的文章:</b><ul><li>IOS开发Swift 与 OC相互调用详解</li><li>iOS Swift利用UICollectionView实现无限轮播功能(原理)详解</li><li>iOS开发中Swift逃逸闭包知识</li><li>iOS Swift控制器转场动画示例代码</li><li>iOS Swift读取本地json文件报错的解决方法</li><li>IOS 开发之swift中手势的实例详解</li></ul>
                            </div>

                        </div>
                        <!--endmain-->
頁: [1]
查看完整版本: iOS Swift 值类型与引用类型使用区别基础详解