Я довольно новичок в объектно-ориентированном программировании, и освобождение объектов - моя самая большая головная боль.
Я всегда сомневаюсь в том, что нужно выпустить, и в свое время я выпускаю неправильную переменную и получаю ошибку BAD EXEC.
Я прочитал руководство Apple по управлению памятью, но я не всегда могу перейти от их примеров к своему коду.
Одна из таких ситуаций - мои синглтоны (я большой синглтон).
У меня есть одно определение:
static Configuration* _instance;
+(Configuration*)getInstance{
if (_instance == NULL){
_instance = [Configuration alloc];
[_instance initConfig];
}
return _instance;
}
В моем коде я использую это так:
//Store configuration
Configuration* conf = [Configuration getInstance];
conf.userName = self.userName.text;
conf.cellPhone = self.phoneNumber.text;
Нужно ли освобождать переменную "conf"?
Когда я должен выпустить _instance?
Поскольку я запускаю этот код на iPhone, что происходит с переменными, которые я не выпускаю? они повлияют на производительность iPhone?