NSXMLParser владение данными - PullRequest
0 голосов
/ 12 января 2010

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

Спасибо

Ответы [ 2 ]

2 голосов
/ 12 января 2010

Какао использует метафору «Это не моя проблема» для управления памятью.

Если вы передаете что-то другому объекту, именно эти объекты несут ответственность за его сохранение.

Если что-то передается одному из ваших объектов, вам нужно сохранить его, иначе оно может исчезнуть.

Обычно передают такие объекты, как:

    [otherObject doSomethingWith:[myThing autorelease]];

OR

    [otherObject doSomethingWith:myThing];
    [myThing release];

Фреймворки Cocoa работают по этому принципу, и вы должны разрабатывать свои классы таким же образом.

1 голос
/ 12 января 2010

Если вы сохранили его и больше не используете, отпустите его. NSXMLParser, скорее всего, сохранит сами данные и выпустит их, когда закончит с ними.

...