iPhone: вопрос управления памятью новичка - PullRequest
0 голосов
/ 05 апреля 2010

Я только начинаю с какао. Поэтому, пожалуйста, извините за глупый вопрос, но я пока не могу полностью обдумать некоторые аспекты управления памятью.

В интерфейсе моего класса я объявляю объект как CEMyObjectclass *myObject;. Я не размещаю и не инициирую объект в методе инициализации класса. Но у меня есть метод, который вызывает myObject = [[CEMyObjectclass alloc] initWithImage:someImage];. Будет ли это в конечном итоге исчерпать память, или myObject будет просто перезаписываться новым экземпляром каждый раз, когда вызывается этот метод?

Спасибо!

1 Ответ

1 голос
/ 05 апреля 2010

Вы должны в конечном итоге закончиться.

Помните, что myObject это просто указатель на блок памяти. Указатель myObject будет указывать на вновь выделенный объект, и у вас не будет ссылки на старый. Поэтому вы не сможете освободить его память (но объект все еще будет вокруг).

Как правило, если вы alloc что-то (или retain это), вы несете ответственность за сопоставление этого сообщения с release где-то позже.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...