Een delegate zou je kunnen zien als een tijdelijke gekloond hulpje van het object. Neem een voorbeeld uit de echte wereld: je bent savonds thuis met je kinderen. Je wilt echter even naar de kroeg. Je belt een oppas en die komt. De oppas is dan even jouw delegate terwijl jij in de kroeg zit. Als de kinderen wakker worden met een slechte droom, dan kan de delegate, de oppas, een actie uitvoeren om ze te troosten. Jij kan ondertussen iets anders doen.
In objective-C worden delegate vaak gebruikt om meerdere taken tegelijk uit te voeren. Bijvoorbeeld, terwijl de data wordt gedownload, kun we wel een invoerscherm vullen. Of, terwijl de locatie wordt bepaald, geven we alvast het keuze menu weer. Als geen delegates zouden worden gebruikt, dan zou de gebruiker moeten wachten totdat de actie klaar is.

