Что такое retainCount в Objective C?

Исторически 33 походит на популярный выбор, и он имеет тенденцию работать вполне прилично. Никто не знает почему все же. Для получения дополнительной информации, взгляд здесь

12
задан piperchester 22 January 2014 в 19:21
поделиться

2 ответа

keepCount - это количество заявлений о праве собственности, которые еще не выполнены для объекта.

Вы становитесь владельцем объекта, если вы создаете его с помощью метода, имя которого начинается с «alloc» или « new »или содержит« копию »(например, alloc, newObject или mutableCopy), или если вы отправляете ему сообщение о сохранении. Все это увеличивает keepCount.

Вы отказываетесь от владения, используя «release» или «autorelease». Они уменьшают значение keepCount.

Однако вам никогда не следует обращать внимание на значение keepCount, это в лучшем случае сбивает с толку, а в худшем - вводит в заблуждение. Просто следуйте правилам управления памятью - станьте владельцем, когда вам нужно сохранить ссылку на объект, и откажитесь от владения, когда закончите, и у вас не будет проблем.

Если вы смотрите на keepCount,

15
ответ дан 2 December 2019 в 20:18
поделиться

Звучит нормально. Почему это было бы неправильно?

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

1
ответ дан 2 December 2019 в 20:18
поделиться