objective-c Effectively implementing delegate pattern in your custom classes Delegate is one of the simplest and flexible patterns in Cocoa. A delegate is an object that acts on behalf of, or in coordination with, another object when that object encounters an event