这是我的问题。我有这段代码:
class Person: NSObject {
private var name: String
var age: Int
class var headsNumber: Int {
get{
return Person.headsNumber
}
set{
Person.headsNumber = newValue
}
}
init(name: String, age: Int){
self.name = name
self.age = age
}
然后,我这样做:
var p = Person(name: "Billy", age: 20)
Person.headsNumber = 2
当我想修改headsNumber的值时,我收到错误。求救!
答案 0 :(得分:0)
通过实现get
和set
,您已经计算了此属性(不存储该变量)。 Person.headsNumber = 2
启动循环,因为您再次在setter方法中为headsNumber
设置新值。
如果您只想存储headsNumber
,则必须删除get
和set
实施。