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

标签 swift object struct

在使用 Swift 创建对象时,有什么方法可以将对象添加到列表中吗?我认为您可以通过执行 .add(this) 使用 Java 来完成此操作,但我不确定如何在 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)
    }
}

最佳答案

您可以尝试按照以下方法保存附加数据,

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)
  }
}

关于swift - 在初始化时将对象添加到列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45352013/

相关文章:

c# - 将 VB6 变体分配给对象

c - 声明 C 结构的语法正确方法是什么?

ios - iOS App Containing Extension 和 Extension (not Host App) 之间如何通信

ios - 如果用户启动,让 UITableView 动画选择

java - 如何在不使用文件的情况下序列化对象(例如 HashMap)?

javascript - Ajax /套接字: javascript array object properties get lost

c - C 中的结构体字段赋值

c++ - C++ 中的数组和覆盖 - 我可以重用同一个对象吗?

swift - 如何使用 swift 和 parse.com 将 pfimageview 从一个 Controller 传递到 Storyboard 中的另一个 Controller

objective-c - Objective-C 工厂方法如何转换为 Swift 便捷初始化器?