To create your own custom delegate protocol, modify the header file for the selected class to add the @protocol declaration, a delegate @property, and declare the methods that delegates can implement:
In the implementation file, anytime you want to call a delegate method, first check to see if the delegate is set, and if it responds to the selector. Then call the method:
Now for classes you want to conform to your new protocol, include the header file and delegate protocol in the @interface:
Any required delegate methods must then be implemented in your class's @implementation file.