Я новичок в программировании на Objective-C, и выпуск объектов — моя самая большая головная боль. Я всегда сомневаюсь в том, что нужно выпустить, и иногда я выпускаю неправильную переменную и получаю сбой 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?