假设之间的周期我有以下代码:保留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