比方说,我有一个类Animal
多少内存分配给UIViewController的变量
class Animal: NSObject {
var name: String = ""
var weight: Double = 0
}
在我的视图控制器#1,我有这些对象的数组:
class ViewController1: UIViewController {
var animals: [Animal] = [ .... ]
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let v = segue.destination as? ViewController2 {
v.mammals = self.animals.filter(...) // Are my objects duplicated?
}
}
}
class ViewController2: UIViewController {
var mammals: [Animal] = [ .... ]
}
是我Animal
当我从VC1中过滤它们并将它们的子集传递给VC2时,对象会被复制?当我从VC2返回到VC1时(即弹出导航堆栈),mammals
中的对象是否已解除分配,释放内存?
编辑:这会创建任何类型的任何保留周期?