Вы регистрируете объекты , а не классы , с центрами уведомлений. Когда вы регистрируетесь для уведомления, регистрируемый вами метод обратного вызова вызывается для объекта, который регистрируется, и если вы переопределили его в подклассе, то вызывается переопределенный метод.
Если вы делаете это в подклассе, спросите себя, вызывается ли в родительском коде код родителя, который регистрируется для уведомления.
Все это имеет ключевое значение для объектно-ориентированного программирования и наследования.