iOS Swift 值類型與引用類型使用區(qū)別基礎(chǔ)詳解
引言
值類型在傳遞和賦值時(shí)將進(jìn)行復(fù)制,而引用類型只會(huì)使用引用對(duì)象。
Swift中定義的很多類型都是值類型,如struct、enum以及所有的內(nèi)建類型(Int、Bool、String、Array、Dictionary)都是值類型。class為引用類型。
以最常用的數(shù)組為例
值傳遞
A,B兩個(gè)類各有一個(gè)Array,把B的arr賦值為A的arr,然后給B的arr添加一個(gè)元素。
運(yùn)行看到A的arr沒(méi)有改變,兩個(gè)arr的hashValue不同,是兩個(gè)對(duì)象。賦值時(shí)是值傳遞。
引用傳遞
在上面基礎(chǔ)上,將arr的類型改成NSMutableArray,添加方法改成add,其他的不變。
運(yùn)行看到A的arr也改變了,兩個(gè)arr的hashValue相同,是同一個(gè)對(duì)象。賦值時(shí)是引用傳遞。
以上就是iOS Swift 值類型與引用類型使用區(qū)別基礎(chǔ)詳解的詳細(xì)內(nèi)容,更多關(guān)于iOS Swift值類型引用類型的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
iOS實(shí)現(xiàn)文字轉(zhuǎn)化成彩色文字圖片
這篇文章主要為大家詳細(xì)介紹了iOS文字轉(zhuǎn)化成彩色文字圖片的實(shí)現(xiàn)方法,可以實(shí)現(xiàn)不同字體,漸變的效果,感興趣的小伙伴們可以參考一下2016-03-03使用設(shè)計(jì)模式中的Singleton單例模式來(lái)開(kāi)發(fā)iOS應(yīng)用程序
這篇文章主要介紹了使用設(shè)計(jì)模式中的Singleton單例模式來(lái)開(kāi)發(fā)iOS應(yīng)用程序的例子,示例代碼為傳統(tǒng)的Objective-C語(yǔ)言,需要的朋友可以參考下2016-03-03解決Charles抓包https時(shí),無(wú)法查看CONNECT請(qǐng)求的問(wèn)題
下面小編就為大家分享一篇解決Charles抓包https時(shí),無(wú)法查看CONNECT請(qǐng)求的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01安裝win10+黑蘋(píng)果雙系統(tǒng)零基礎(chǔ)教程(圖文)
這篇文章主要介紹了安裝win10+黑蘋(píng)果雙系統(tǒng)零基礎(chǔ)教程(圖文),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2020-01-01IOS倒計(jì)時(shí)設(shè)置UIButton標(biāo)題title的抖動(dòng)問(wèn)題
這篇文章主要介紹了IOS倒計(jì)時(shí)設(shè)置UIButton標(biāo)題title的抖動(dòng)問(wèn)題,在發(fā)送驗(yàn)證碼后,button狀態(tài)需要變?yōu)閐isable,每隔一秒顯示倒計(jì)時(shí)時(shí)間,下面通過(guò)本文給大家介紹設(shè)置方法,一起看看吧2016-12-12iOS - UIButton(UIEdgeInsets)/設(shè)置button上的文字和圖片上下垂直居中對(duì)齊
這篇文章主要介紹了iOS - UIButton(UIEdgeInsets)/設(shè)置button上的文字和圖片上下垂直居中對(duì)齊的相關(guān)資料,需要的朋友可以參考下2015-09-09