Compreendendo os protocolos no Objective-C

Sou iniciante em programação e iniciante em Objective-C. Aprendi C básico e decidi começar a aprender Objective-C. Estou lendo "Programação no Objetivo C 2.0", de Steven Kochan. Sua seção sobre Protocolos é vaga. Ele não explica completamente por que alguém gostaria de usar protocolos em seus programas, nem dá um exemplo concreto com ele implementado em um programa. Ele escreve: "Você pode usar um protocolo para definir métodos que deseja que outras pessoas que subclasses de sua classe implementem". Ele também diz que os protocolos são bons para as subclasses serem capazes de implementar determinados métodos, sem precisar primeiro definir os métodos reais. Ele também diz que os protocolos podem ser usados em diferentes classes porque não têm class

Sei que deve haver uma maneira válida e inteligente de implementar protocolos, mas com base no que ele escreveu, não vejo por que alguém usaria protocolos em vez de apenas criar um método de classe fora do motivo pelo qual mais de uma classe pode aderir para um protocolo (eu sei que existem mais algumas boas razões!). Eu queria saber se alguém poderia me ajudar a entender: como, por que e quando eu usaria protocolos no meu programa de forma inteligent

questionAnswers(5)

yourAnswerToTheQuestion