gpt4 book ai didi

swift - 如何使用一个变量/属性而不是将同一属性赋值三次?

转载 作者:搜寻专家 更新时间:2023-11-01 06:32:05 24 4
gpt4 key购买 nike

假设 myVar View 的每个实现中都具有相同 的功能。我试图弄清楚如何声明/公开某种仅设置属性,而不是将它们分配 n 次(每创建一个新的 View ),但没有任何结果到我头上。我如何重构为一条线和一次分配?

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)?
}

最佳答案

类似这样,但是将所有 CustomViews 放在一个数组中是个好主意,也可以在这里实现

var a: (() -> Void)?

class CustomView: UIView {
var myVar: (() -> Void)?
}

class SomeClass {
let view1 = CustomView()
let view2 = CustomView()
let view3 = CustomView()
var myVar: (() -> Void)? {
set {
self.view2.myVar = newValue
self.view1.myVar = newValue
self.view3.myVar = newValue
}

get {
return self.myVar
}
}
}

let b = SomeClass()
b.myVar = ({print(3)})
b.view1.myVar!()

关于swift - 如何使用一个变量/属性而不是将同一属性赋值三次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45805419/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com