[英]Swift willSet/didSet assignment?
我想通過使用didSet
/ willSet
API來觀察類中幾個屬性的變化。 但是,我想保持屬性“ decelaration”部分的整潔,因此我想為該邏輯的實現使用單獨的函數。
現在我有這樣的事情:
var myProperty: SomeType {
didSet {
handleDidSetMyProperty()
}
}
但是,這占用了5行,如果您擁有更多這樣的屬性,這將是很多。 如果可以將其限制為3,那就太好了,例如:
var myProperty: SomeType {
didSet = handleDidSetMyProperty
}
Swift中有沒有一種方法可以將函數/閉包分配給屬性觀察器?
不,你不能。 請參閱聲明在斯威夫特的編程語言。
在“可變聲明語法”中,您會發現
didSet-clause → attributesopt didSet setter-nameopt code-block
和“代碼塊語法”中
code-block → { statementsopt }
即didSet
關鍵字只能跟隨一個代碼塊(帶有必需的花括號)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.