(Obj-C is basically Smalltalk on top of C with a rocking API).
I think delegation is one of the least understood, but most powerful techniques in programming. Being able to inject functionality into another routing based on context allows for reusable work-flow while injected context specific work-flow into that routine, but still allowing that context specific work-flow to have access to encapsulated scope outside of the routine.
This is extremely powerful flexibility, that allows a developer to accomplish developing more functionality with less lines of code.
Agreed. Which ObjC doesn't entirely do; SELs and IMPs are primitive types rather than objects, which is annoying.
I up-voted you even though I was unable to parse this sentence.
I hope that helps, if it is just a convoluted, then I am sorry. Delegates are a pretty abstract subject and I may not be the best at explaining them.