Кроме того, будьте очень осторожны при использовании блоков в качестве обработчиков уведомлений из метода init.
Например, вы можете установить блок в качестве обработчика уведомлений, чтобы прослушивать уведомление из свойства класса (например, didChangeNotification в managedObjectContext контроллера представления). В этом случае блок сохранит экземпляр объекта, что означает, что ваш метод init увеличил retainCount в два раза. Если вы не переопределите релиз для правильного управления этим, тогда вы будете держать экземпляры класса рядом, и, что еще хуже, возможно, все еще будете отвечать на эти уведомления.
Поэтому я бы очень осторожно использовал блоки в качестве обработчиков уведомлений, особенно из методов init.