What are the different types of protocols?
Protocols are of two types - formal and informal.
An extension of the Objective-C language, a formal protocol announces a list of methods that client classes are likely to implement.
An informal protocol is one of the categories on NSObject that makes all objects adopters of the protocol. Implementing methods in an informal protocol is optional.