[XXX retainCount] == 0 действительно представляет освобожденную память?

#objective-c #nsmutablearray

#objective-c #nsmutablearray

Вопрос:

все, когда я использую [nsmutablearray removeAllObjects], я получаю: [NSMutableArray retainCount] ==1;

затем я использую [NSMutableArray relese]; я получил [NSMutableArray retainCount] ==1;

итак, я думаю, действительно ли [XXX retainCount] == 0 представляет освобожденную память???

Ответ №1:

Из официальных документов:

Важно: Обычно не должно быть причин явно спрашивать объект, каково его количество удерживаемых данных (см. retainCount). Результат часто вводит в заблуждение, поскольку вы можете не знать, какие объекты framework сохранили интересующий вас объект. При отладке проблем с управлением памятью вы должны заботиться только о том, чтобы ваш код соответствовал правилам владения.

Ответ №2:

retainCount никогда не может возвращать 0.