Swift基礎 簡單理解getter和setter

2021-10-10 08:03:09 字數 1141 閱讀 4893

屬性與類,結構體,列舉關聯。屬性分為儲存屬性和計算屬性。

儲存屬性很好理解,就是常量或變數。比如:

var a =

10var b =

20

計算屬性其實就是乙個方法。我們用類來舉例:

class

testfunc

}var v =

testfunc()

v.tempvalue // 30

// vat tempvalue就是乙個類似普通變數屬性的屬性,因為是經過計算而來,稱之為計算屬性。

// 可以簡單理解為,就是個方法,返回了乙個值。

方法tempvalue中的return可以去掉,效果一樣,叫做隱式返回。

我們在return前還可以加上get,效果一樣。

class

testfunc}}

var v =

testfunc()

v.tempvalue //30

setter稍微複雜些,其實也很簡單,往下看。

首先,我們可以改變類中的變數:

class

testfunc}}

var v =

testfunc()

v.a =

30v.tempvalue =

50// 30+20=50

tempvalue本質是個函式,但它其實是個計算屬性,雖然用var定義為變數,但是我們能像改變變數a一樣,直接改變tempvalue嗎?正常情況下不能,會報錯。

但是swift給我們提供了乙個setter,可以改變tempvalue這個計算屬性, 或者說往這裡面傳入了乙個值。

class

testfunc

set(newvalue)}}

var v =

testfunc()

v.tempvalue =

50// 正常情況下,v.tempvalue的值是30,但是我們強行往裡面輸入了個值為50,並賦值給b。

// 於是,v.tempvalue的值就重新計算了 a + b,結果是10 + 50 = 60

v.tempvalue // 60

swift簡單使用

變數和常量的定義 變數 var 常量 let 格式 修飾符 var let 變數 常量名稱 資料型別 值 var numbera int 10 定義變數並初始化 numbera 20 變數的數值可以修改 let numberb int 20 定義常量並初始化 numberb 20 常量的資料不可以修...

Swift 簡單總結

1.swift簡單總結 一 資料簡單值和型別轉換 2.swift簡單總結 二 簡單值和控制流 3.swift簡單總結 三 迴圈控制和函式 4.swift簡單總結 四 函式和類 5.swift簡單總結 五 列舉和結構體 6.swift簡單總結 六 協議擴充套件與泛型 7.swift簡單總結 七 資料型...

Swift 閉包理解

閉包 closures 閉包是自包含的功能 塊,可以在 中使用或者用來作為引數傳值。在swift中的閉包與c oc中的blocks和其它程式語言 如python 中的lambdas類似。閉包可以捕獲和儲存上下文中定義的的任何常量和變數的引用。這就是所謂的變數和變數的自封閉,因此命名為 閉包 clos...