Я запускаю свой NSXMLParser с изменяемыми данными, которые я получаю из Интернета. Интересно, освобождает ли парсер его освобождение или я должен выпустить его после разбора?Собственность NSXMLParser на данные
Благодаря
Я запускаю свой NSXMLParser с изменяемыми данными, которые я получаю из Интернета. Интересно, освобождает ли парсер его освобождение или я должен выпустить его после разбора?Собственность NSXMLParser на данные
Благодаря
Какао использует метафору «Это не моя проблема» для управления памятью.
Если вы передаете что-то другому объекту, он не несет ответственности за его сохранение.
Если что-то передано одному из ваших объектов, вам необходимо его сохранить или оно может исчезнуть.
Обычно проходят такие объекты, как:
[otherObject doSomethingWith:[myThing autorelease]];
ИЛИ
[otherObject doSomethingWith:myThing];
[myThing release];
Рамки какао работают по этому принципу, и вы должны разработать свои классы одинаково.
Если вы сохранили, и вы больше не использовать его, а затем отпустите его. NSXMLParser, скорее всего, сохранит сами данные и освободит их, когда он будет завершен с ним.
Спасибо за ответ, должен ли я освободить его после разбора или это не имеет значения? Я видел, что если я выпущу его раньше, я получаю сбой на неизвестном селекторе и кажется, что синтаксический анализатор не сохраняет его –
Если вы его сохранили, вы должны освободить его, как только вы закончите с ним. Это означает, что после того, как вы передали его NSXMLParser. –