好吧,我可能错过了一些超级基本的东西。我有一个名为currentValue
的实例属性,初始化为String
。
class ViewController: NSViewController {
var currentValue = ""
// ...
func getNewValue() {
currentValue = computeNewValue()
aLabel.stringValue = currentValue
}
func calledLater() {
println("\(currentValue)")
}
}
当我致电getNewValue()
时,标签会正确更新。
但是,当我调用calledLater()
时,currentValue被“重置”为空字符串。
起初我认为这是一个弱存储的东西,但Swift显然默认为强存储?
我通过将currentValue
初始化为"a"
来测试了这一点,并且标签再次正确更新,但是当我稍后获得变量时,它会返回"a"
。
我觉得我错过了一些东西,但不能以一种能让我做正确研究的方式来表达。
答案 0 :(得分:0)
你可能会在你的ViewController'的不同实例上调用这些方法。类。
(典型情况是从故事板加载控制器;它看起来像故事板中的实例,但它们实际上只是蓝图。)