В случае, если мы возвращаем nil в методе init, что происходит с удержанием count и кто собирается выпустить этот объект?
Как только я наберу, как только мы назовем alloc (что произойдет до init), счетчик сохранения станет 1. Теперь вызывается init и пусть по какой-то причине он не может инициализировать объект, поэтому он возвращает nil.
И похоже, что теперь у нас есть объект с сохранением count равным 1, и никто не ссылается на него, чтобы вызвать release.
Должны ли мы вызвать [self autorelease] в init для такого случая или сделать что-то еще?