是否可以用很少的代码创建一个变量作为对另一个变量的引用,以便更改第一个变量的值也可以更改第二个变量的值?是否有任何现成的课程使这一切成为可能?还是我必须通过test.shared.changeMe = true
来更改变量的值?
class Test {
var shared: Test = Test()
var changeMe: Bool = false
func printValue() {
print("changeMe: " + String(changeMe))
}
}
class ViewController: UIViewController {
override func viewDidAppear(_ animated: Bool) {
var reference: Bool = test.shared.changeMe // <- The variable "reference" should be a reference to the variable "changeMe" of the class test.
reference = true
print("Reference: " + String(reference))
test.shared.printValue()
}
}
class Test {
var shared: Test = Test()
var changeMe: Bool = false
func printValue() {
print("changeMe: " + String(changeMe))
}
}
答案 0 :(得分:0)
没有变量的引用,但是您可以使用计算变量来模拟行为。
计算变量计算它们的值而不是存储它们,并且它们以与计算属性相同的方式编写。通过编写get
和set
来读取和写入原始变量,可以模拟所需的行为。
override func viewDidAppear(_ animated: Bool) {
var reference: Bool {
get { return test.shared.changeMe }
set { test.shared.changeMe = newValue }
}
reference = true
print("Reference: " + String(reference))
test.shared.printValue()
}
注意:如果您需要访问reference
之外的viewDidAppear
,则将其声明为类的 compute属性(只是将其移出函数)。