有没有办法在使用Swift创建对象时将其添加到列表中?我认为你可以通过.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)
}
}发布于 2017-07-27 21:38:47
您可以尝试以下操作来保存追加的数据。
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)
}
}发布于 2017-07-27 21:29:33
方法.append(item)是将项添加到数组中的好方法,但在本例中,您创建的保留循环将泄漏您的应用程序。
您变量differentCandles应该保存在其他地方,或者是静态的。
https://stackoverflow.com/questions/45352013
复制相似问题