What is a delegate? Can you retain delegates?
It is an object that acts in coordination with, on behalf of, other objects when those objects encounter an event in a program.
If you want to retain a delegate, it can be retained. However, the rule is not to retain it because it must e already retained you will avoid unnecessary retain cycles.