如何在swift中修改type属性

时间:2014-09-25 09:35:11

标签: swift ios8

这是我的问题。我有这段代码:

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的值时,我收到错误。求救!

1 个答案:

答案 0 :(得分:0)

通过实现getset,您已经计算了此属性(不存储该变量)。 Person.headsNumber = 2启动循环,因为您再次在setter方法中为headsNumber设置新值。

如果您只想存储headsNumber,则必须删除getset实施。