Sagen wir, ich habe eine Klasse Animal
Wie viel Speicher ist mit UIViewController Variablen zugewiesen
class Animal: NSObject {
var name: String = ""
var weight: Double = 0
}
Meiner Ansicht Controller # 1, ich habe ein Array dieser Objekte:
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] = [ .... ]
}
Sind meine Animal
Objekte dupliziert, wenn ich sie von VC1 filtere und eine Teilmenge davon an VC2 überlasse? Wenn ich von VC2 zu VC1 zurückgehe (d. H. Den Navigationsstapel knallen lasse), werden die Objekte in mammals
freigegeben, wodurch Speicher freigegeben wird?
EDIT: Wird dies jeden Retain-Zyklus jeder Art erstellen?