簡體   English   中英

Swift willSet / didSet分配?

[英]Swift willSet/didSet assignment?

我想通過使用didSet / willSet API來觀察類中幾個屬性的變化。 但是,我想保持屬性“ decelaration”部分的整潔,因此我想為該邏輯的實現使用單獨的函數。

現在我有這樣的事情:

var myProperty: SomeType {
    didSet {
        handleDidSetMyProperty()
    }
}

但是,這占用了5行,如果您擁有更多這樣的屬性,這將是很多。 如果可以將其限制為3,那就太好了,例如:

var myProperty: SomeType {
    didSet = handleDidSetMyProperty
}

Swift中有沒有一種方法可以將函數/閉包分配給屬性觀察器?

不,你不能。 請參閱聲明在斯威夫特的編程語言。

在“可變聲明語法”中,您會發現

didSet-clause → attributes­opt ­didSet­ setter-name­­opt ­­code-block­

和“代碼塊語法”中

code-block → {­ statements­opt

didSet關鍵字只能跟隨一個代碼塊(帶有必需的花括號)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM