假設之間的週期我有以下代碼:保留class和struct
struct X {
let propertyOfTypeY: Y
}
class Y {
var propertyOfTypeX: X?
}
let y = Y()
let x = X(propertyOfTypeY: y)
y.propertyOfTypeX = x
如果這些都是類的話,那將意味着保留週期。但是,我不清楚類和結構之間的區別是如何適用於上述示例的。它會導致一個保留週期,還是因爲struct的使用而成爲安全代碼?
注意'struct X {unowned let propertyOfTypeY:Y}'可能會允許循環被打破。 – Norman