¿Cuál es el objetivo de los Protocolos?

He estado escribiendo varias cosas usando protocolos según el código de ejemplo, pero también usando algunas cosas de terceros, y parecen adoptar enfoques bastante diferentes. Algunos adoptan específicamente los protocolos en la interfaz usando

@interface myClass <myProtocol>

otros no lo hacen en absoluto y simplemente se pasan y luego se establecen como delegados, pero el resultado final parece ser exactamente el mismo. He probado los dos y ambos funcionan bien. ¡Si alguien pudiera explicar esto, sería un campista feliz! Muchas gracias

Respuestas a la pregunta(3)

Su respuesta a la pregunta