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