在初始化时将对象添加到列表

Gae*_*man 0 struct object swift

用Swift创建对象时,有什么方法可以将对象添加到列表中?我认为您可以通过Java做到这一点,.add(this)但是我不确定如何在Swift中做到这一点。这是我现在拥有的代码。由于列表为空,因此执行附加操作似乎无效。

public struct Candle {
    let id: Int
    let name: String
    let burning: Bool
    let type: CandleType

    var differentCandles: [Candle] = []

    init(name: String, burning: Bool, candleType: CandleType) {
        self.name = name
        self.burning = burning
        self.type = candleType
        self.id = differentCandles.count + 1
        differentCandles.append(self)
    }
}
Run Code Online (Sandbox Code Playgroud)

小智 5

您可以尝试按照以下步骤保存附加数据,

public struct Candle {
  let id: Int
  let name: String
  let burning: Bool
  let type: CandleType

  static var differentCandles: [Candle] = []

  init(name: String, burning: Bool, candleType: CandleType) {
      self.name = name
      self.burning = burning
      self.type = candleType
      self.id = Candle.differentCandles.count + 1
      Candle.differentCandles.append(self)
  }
}
Run Code Online (Sandbox Code Playgroud)