ARC не имеет значения в таком контексте.
Это просто означает, что вам не нужно звонить release
самостоятельно.
С не-ARC, под низким-из условия памяти, вы можете захотеть освободить некоторые свойства, которые вам на самом деле не нужны (то есть они могут быть воссозданы по требованию).
- ( void )didReceiveMemoryWarning:
{
[ _myProperty release ];
_myProperty = nil;
[ super didReceiveMemoryWarning ];
}
В ARC это точно так же, кромене нужно звонить release
:
- ( void )didReceiveMemoryWarning:
{
_myProperty = nil;
[ super didReceiveMemoryWarning ];
}
Если установить для свойства nil
, то в ARC его автоматически освободят.Так что это действительно что-то делает.
Если это не работает для вас, тогда у вас определенно есть другая проблема.Убедитесь, что у вас нет утечек памяти и нет сохраняемых циклов .
Последний, безусловно, является проблемой ...