UserManagerViewController eine Klasse, die Benutzerobjekte (erstellt/Release) für den Rest meines View-Controller (so dass ich mehrere Benutzerobjekte nicht schaffen) verwaltet, die ich habe:Wie kann ich den Speicher in Swift korrekt freigeben?
var resources = Dictionary<Int, T>()
Immer, wenn ich eine Ressource benötigen , ich tue dies:
let id = data["id"].intValue
self.resources[id] = User(data: data) //Create a User object and set it to the dictionary
ich habe andere Viewcontrollers, dass „hängen“ auf dieses Objekt, wenn es will, es benutzen:
var users = [User]()
users.insert(<The pointer to resources[id]>, atIndex: 99)
//later on...
users.removeAtIndex(99) //this should release its hold
Später, als ich das letzte erstellte Objekt freigeben müssen, ich dies tun:
resources.removeValueForKey(id)
Wird diese Methode richtig sicherzustellen, dass die User
Instanz einfach weggeht, da beide ihre Eltern sie veröffentlicht?
Ist 'Benutzer' eine Klasse oder eine Struktur? – tktsubota
Benutzer ist eine Klasse. – TIMEX