我們假設myVar具有相同功能在每個執行查看。我想弄清楚如何聲明/暴露某種集合屬性,而不是將它們分配n次(每創建一個新的視圖),但沒有任何東西出現在我的腦海中。我怎麼能重構一行&一次性任務?如何使用一個變量/屬性,而不是分配相同的屬性三次?
var myVar: (()-> Void)?
private func callBack() {
someClass.view1.myVar = self.myVar
someClass.view2.myVar = self.myVar
someClass.view3.myVar = self.myVar
}
// MARK: - someClass pseudocode
someClass: class {
let view1: CustomView: = CustomView
let view2: CustomView: = CustomView
let view3: CustomView: = CustomView
}
// MARK: - customView pseudocode
class CustomView: UIView {
var myVar: (()-> Void)?
}
這是聰明的,但這樣做基本上是相同的,只是語法非常** ** SWIFTY。 它仍然分配myVar三次。 – Drwalcore
我試圖做到這一點,但** $ 0 **是不可變的,因爲我試圖分配類似的東西'{$ 0.myVar = {self.myVar?()}}'' – Drwalcore