Установка свойств на nil
также приведет к их освобождению (при условии, что метод установки освобождает старое значение, как и должно).
Кроме того, установка свойств на nil
означает, что любые сообщения, которые могут в конечном итоге быть отправлены им впоследствии, будут проглочены nil
и проигнорированы. В ситуации, когда они были просто освобождены, объект может быть освобожден и перезаписан в памяти, но им все равно могут быть отправлены сообщения (которые теперь отправляются тому, кто их перезаписал в памяти), что может вызвать сбой, исключение или другое неожиданное поведение.