[英]Class create an instance of itself
我想要一個類的實例方法來創建其自身的實例並將其附加到數組中。
我嘗試了這個:
var vampireArray: [Vampire] = []
class Vampire {
func createSelf() {
vampireArray.append(Vampire())
}
}
但是我在(lldb)
這樣的控制台上收到一個奇怪的錯誤
有什么想法嗎?
通常,即使不了解此代碼的上下文,通常也要創建一個類的實例,然后將其添加到該類范圍之外的數組中,這是一個壞主意。
相反,嘗試將vampireArray.append(Vampire())
放置在最初計划放置createSelf()
。
如果你想堅持這條路線,它會像的方法createSelf()
應該是一個靜態方法和var vampireArray: [Vampire] = []
也應該是你的類中的靜態變量。
編輯:
如果您要做的只是跟蹤吸血鬼的數量,這可能是一個很好的解決方案:
class Vampire {
static var VampireCount = 0
init(){
Vampire.VampireCount += 1
}
}
然后,每當您要訪問計數時,只需使用Vampire.VampireCount
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.