- 如果实参有物理内存地址,而且没有设置属性观察器
:直接将实参的内存地址传入函数(实参进行引用传递)
- 如果实参是计算属性,或者设置了属性观察器
:采取了copy in copy out的做法
- 调用该函数时,先复制实参的值,产生副本[get]
- 将副本的内存地址传入函数(副本进行引用传递),在函数内部可以修改副本的值
- 在函数返回后,再将副本的值覆盖实参的值[set]
inout的本质就是引用传递(地址传递)
inout的本质就是引用传递(地址传递)
本文标题:swift学习-inout的本质
本文链接:https://www.haomeiwen.com/subject/aezuphtx.html
网友评论