Я использовал для проверки того, что некоторые из моих переменных имели ожидаемый счет сохранения, используя [myVar retainCount] под отладчиком, особенно для var, у которого не было пользовательского dealloc.
Как вы это делаете в режиме ARC? Как вы гарантируете отсутствие утечек памяти?
Примечание. Я понимаю, что ARC должна справиться с этим для меня, но жизнь далека от совершенства, и в реальной жизни у вас есть объекты, которые иногда выделяются сторонними библиотеками (с использованием сохранения?) и никогда не освобождаются.
Изображение, которое я делаю:
MyObj *myObj=[[MyObj alloc] init];
тогда я вызываю
[somethingElse doSomethingWithMyObj:myObj];
а затем я делаю
myObj=NULL;
Если моя программа работает нормально, я ожидаю, что myObj будет уничтожен, но похоже, что это не так...
Итак, как я могу отслеживать это, особенно если somethingElse не управляется мной?
Теперь о инструментах: кажется очень сложно запускать инструменты памяти на моем mac (с 5 мегабайтами) без перезагрузки mac и начать с нуля. Это действительно раздражает! Инструменты продолжают сбой даже до запуска программы, так же как есть альтернативное решение?