【发布时间】:2016-02-22 15:36:50
【问题描述】:
我目前正在玩 swift,但有一件事我不明白。
我们看看下面的非编译代码sn-p
class A {
var test : String {
get {
return "foo"
}
set {
self.test = newValue
}
willSet {
}
didSet {
}
}
}
由于某种原因,编译器在抱怨。所以我无法实现所有这些:get 和 set、didSet 和 willSet。我认为观察计算属性可能是不可能的。
所以我又玩了一点,然后我发现子类可以覆盖计算属性的属性观察者。 什么情况? 这对我来说没有意义
import UIKit
class A {
var test : String {
get {
return "name"
}
set {
self.test = newValue
}
}
}
class B : A {
override var test : String {
willSet {
}
didSet {
}
}
}
为什么我不能在第一个代码 sn-p 中添加属性观察者,但我可以在子类中覆盖这些观察者?
【问题讨论】:
标签: swift