簡體   English   中英

類創建自身的實例

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM