值類型和引用類型

既然類比結構體強大這么多,為什么還要使用結構體?正是因為它的使用范圍受限,使得結構體在構建代碼塊 (blocks) 的時候非常靈活。

值類型和引用類型
結構體是值類型的,而類是引用類型的,這一行為上的細微區(qū)別造就了架構上的無限可能。

值類型的實例,不管是在賦值或是作為函數參數的時候,都是被復制的。數字,字符串,數組,字典,枚舉,元組和結構體都是值類型。比如:

var a = "Hello"
var b = a
b.extend(", world")
println("a: \(a); b: \(b)") // a: Hello; b: Hello, world

引用類型的實例 (主要是類) 可以有多個所有者。將一個引用賦值給一個新的變量或者傳遞給一個函數的時候,它們都指向同一個實例。這是你熟悉的對象的行為。比如:

var a = UIView()
var b = a
b.alpha = 0.5
println("a: \(a.alpha); b: \(b.alpha)") // a: 0.5; b: 0.5
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容