Ich bin ziemlich neu in der Objective-C-Programmierung und das Freigeben von Objekten ist mein größtes Kopfzerbrechen. Ich bin immer im Zweifel, was freigegeben werden muss, und meine Zeiten habe ich am Ende die falsche Variable freigeben und bekommen eine BAD EXEC Absturz. Ich habe Apples Anleitung zur Speicherverwaltung gelesen, aber ich kann nicht immer von deren Beispielen auf meinen Code übertragen.
Eine dieser Situationen sind meine Singletons (ich bin ein großer Singleton-Typ).
Ich habe einen als diesen definiert:
static Configuration* _instance;
+(Configuration*)getInstance{
if (_instance == NULL){
_instance = [Configuration alloc];
[_instance initConfig];
}
return _instance;
}
In meinem Code verwende ich es so:
//Store configuration
Configuration* conf = [Configuration getInstance];
conf.userName = self.userName.text;
conf.cellPhone = self.phoneNumber.text;
Muss ich die Variable "conf" freigeben?
Wann sollte ich die _instance freigeben?
Da Im läuft dieser Code auf iPhone, was passiert mit den vars ich nicht freigeben? werden sie die iPhone-Leistung beeinträchtigen?