Есть ли способ проверить объекты NSAutoreleasePool?

Просто интересно, если это вообще возможно, может быть, я мог бы получить NSSet объектов, которые в настоящее время хранятся в данном NSAutoreleasePool пример?

Я просматривал Apple NSAutoreleasePool Ссылка и не нашли много, имеющих отношение к этому вопросу.

2 ответа

Решение

Если цель только для отладки, вы можете использовать функцию _CFAutoreleasePoolPrintPools() распечатать содержимое пула, как описано в TN2124. Он доступен начиная с Mac OS X 10.6 и iOS, может быть, начиная с 3.x.

В качестве альтернативы, метод класса [NSAutoreleasePool showPools] выполняет то же действие.

Нет, нет Детали реализации NSAutoreleasePool Глубокая черная магия.

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

ОДНАКО, ВЫ НЕ ДОЛЖНЫ ИЗМЕНИТЬ ПОВЕДЕНИЕ АВТОРИЗАЦИИ ДЛЯ НИЧЕГО, ЧЕМ ЧЕМ ЭКСПЕРИМЕНТАЦИЯ И ОБУЧЕНИЕ. В противном случае я найду тебя. И сделать вас переписать свой код.

Другие вопросы по тегам