Простое соответствие протоколу не устанавливает ваш объект в качестве делегата, вам нужно сделать это явно либо в кончике, либо в коде. Как уже упоминалось, только один объект может быть делегатом одновременно. Наличие нескольких делегатов может иметь смысл в некоторых случаях - например, если у вас есть табличное представление, отображающее два набора данных, вы можете создать для него два объекта делегата и источника данных и переключаться между ними по мере необходимости. Вероятно, не имеет смысла делать это для делегата приложения, поскольку код там довольно специфичен.
Имейте в виду, что иногда объект будет отправлять уведомления в дополнение к вызову методов делегата. Часто кажется, что это одно и то же, так как объект автоматически подпишет ваш делегат на уведомление, если он включает определенную сигнатуру метода. Основное отличие состоит в том, что другие объекты, кроме делегата, также могут подписываться на эти уведомления, поэтому вы можете подключить их к нескольким объектам одновременно.