Как проверить, был ли объект освобожден из памяти?
Я знаю, что объект должен быть освобожден вручную, когда мы используем alloc | copy | retain для создания этого объекта. если использовать метод класса экземпляра (NSString stringwithformat:
), объект будет автоматически освобожден NSAutoRealeasePool
, однако, иногда есть некоторый объект, используемый для освобождения в функции (void)dealloc
.
Может кто-нибудь сказать мне
В чем разница между [object release]
сразу после функции alloc, [object release]
в (void)dealloc
и NSAutoReleasePool
для освобождения объекта?
Когда вызывается функция (void)dealloc
и когда NSAutoReleasePool
освобождает память, я знаю, что это каждый цикл цикла, как я могу проверить это из кода?
Когда я объявил переменную в заголовке и установил свойство как retain, я все еще могу использовать функцию alloc для этого объекта, но не вызывать утечку памяти, но из этого поста кажется как однажды объявив объект retain в заголовке, вы больше не можете выделять объект, потому что оба объекта сохранят объект. Кто-нибудь может мне сказать, почему я все еще могу кодировать подобное без утечки памяти?