我想要一个类的实例方法来创建自己的实例 并将其附加到数组中。
我试过了:
var vampireArray: [Vampire] = []
class Vampire {
func createSelf() {
vampireArray.append(Vampire())
}
}
但是我在(lldb)
任何想法为什么?
答案 0 :(得分:4)
即使不知道此代码的上下文,通常,创建一个类的实例然后将其附加到类的范围之外的数组也是一个坏主意。
相反,请尝试将行vampireArray.append(Vampire())
放在原先计划放置createSelf()
的位置。
如果你想坚持这条路线,那么方法createSelf()
应该是一个静态方法,而var vampireArray: [Vampire] = []
也应该是一个静态变量里面你的类
修改强>
如果您只想跟踪吸血鬼的数量,这可能是一个很好的解决方案:
class Vampire {
static var VampireCount = 0
init(){
Vampire.VampireCount += 1
}
}
然后,只要您想访问计数,只需使用Vampire.VampireCount