In iPhone programming, there are four common patterns for objects to communicate. Here they are, each with a short summary:
• Target-Action:Specify a single object and a single method to call on that object when a single event happens. You have seen this used by buttons and other controls.
• Delegation: Specify a single object which responds to numerous methods to modify or add behavior. You have seen this used by table views, text editing, the location manager, and many others.
• Notification: Register to be one of many objects notified when an event happens.
• Key-Value Observing(KVO): Register to be one of many objects notified when a single property of another object changes.