Im abbastanza nuovo per la programmazione e il rilascio degli oggetti in modalità obiettivo è il mio più grande mal di testa. Sono sempre in dubbio su cosa debba essere rilasciato, e i miei tempi ho finito col rilasciare la variabile sbagliata e ottenere un crash BAD EXEC. Ho letto la guida di Apple sulla gestione della memoria, ma non posso sempre passare dai loro esempi al mio codice.Rilascio oggettivo-C di singleton
Una di queste situazioni è il mio singleton (sono un grande Singleton).
ne ho uno definiscono come questo:
static Configuration* _instance;
+(Configuration*)getInstance{
if (_instance == NULL){
_instance = [Configuration alloc];
[_instance initConfig];
}
return _instance;
}
Nel mio codice lo uso così:
//Store configuration
Configuration* conf = [Configuration getInstance];
conf.userName = self.userName.text;
conf.cellPhone = self.phoneNumber.text;
ho bisogno di liberare la variabile "conf"?
Quando devo rilasciare la _instance?
Dal momento che sto eseguendo questo codice su iPhone, cosa succede con i vars non rilasciati? influenzeranno le prestazioni dell'iPhone?
potresti dare un'occhiata a questo, immagino che tu possa aiutarmi http://stackoverflow.com/questions/6928028/objective-c-alloc-release-error-in-singleton-class – Spring