Почему нельзя использовать retainCount

Источники:
http://whentouseretaincount.com

retainCount is useless.

Более того — для объектов-констант xCode возвращает разные значения, например, для [NSNumber numberWithInt:1] и @»Foo».

Краткое содержание:
1)retainCount может изменяться при пропускании объекта через какое-либо системное API
2)возвращаемое значение может зависеть от специфики объектов
3)retainCount не учитывает autoreleased объекты
4)autorelease связано с потоками, а retainCount — глобальная величина
5)retainCount может никогда не вернуть ноль
6)синглтоны (в том числе системные)
7)некоторые классы могут манипулировать retainCount самостоятельно, т.е.вам нельзя использовать method-swizzling
8)команды retain/release потокобезопасны, а возвращаемое retainCount значение может оказаться неактуальным

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *