• Home
  • iPhone
  • iPhone Developement – Objective C : Protocols

iPhone Developement – Objective C : Protocols

  • (4.0)
  • | 1395 Ratings


A Protocol is a group of related properties and methods that can be implemented by any class.

Protocols are nothing but interface in other language. The Protocol has only method declaration. There are optional methods and required methods. If your class adopts the protocol, then you have to implement those methods in your class.

Inclined to build a profession as IOS Developer? Then here is the blog post on iPhone Development Certification Training.

Apple provided mainly pre-defined protocol for UIKIT  framework, and we can also create over own protocols.

Steps to create a protocol:

Right click ? objective c protocols

Right click on the classes  ? add


                                                   New file


                                                   Cocava touch classes


                                                   Objective c protocols


                                                      Click on next


                                                    Give name to the protocol




    # import 
   @protocol sample protocol;
  @ optional
   -(void) addition;        // any method declaration;
   -(void) subtraction;
@ end

Implementation of protocols in a class:-

Like class interfaces, protocols typically reside in a .h file.

. h file:

# import 
# import “sample protocol’s . h”
#import    “second protocol’ . h”
@ interface protocol view controller: UI view controller
{ } @end

. m file:-

  # import “protocol view controller’s .h”
@ implementation protocol view controller
 -(void) subtraction
-(void) addition

Note: – No need to declare a protocol method in .h file.

Selector: –

A selector is the name of a method. A selector, by itself doesn’t do anything. It simply identifies a method.

In OBJECTIVE C, selectors are used to refer name of a method. The key word for selector I “@selector”

  Ex:-  @ selector (method name)

Passing method as argument

      [Self addition :@selector (subtraction)];

Checking whether method is present or not in the other class,

B*b  = [[ B alloc]init];
If ([b respond selector: @selector (subtraction)]]
     [b subtraction];
       NsLog( “@” no subtraction method in the B class);


@ selector is a unique identity to recognize the method name.

Frequently Asked iPhone Interview Questions & Answers

Subscribe For Free Demo

Free Demo for Corporate & Online Trainings.

Ravindra Savaram
About The Author

Ravindra Savaram is a Content Lead at His passion lies in writing articles on the most popular IT platforms including Machine learning, DevOps, Data Science, Artificial Intelligence, RPA, Deep Learning, and so on. You can stay up to date on all these technologies by following him on LinkedIn and Twitter. Protection Status