A Protocol is a feature in objective C that provides multiple inheritance in a single inheritance language. Objective C supports two types of protocols:
- Ad hoc protocols called informal protocol
- Compiler protocols called formal protocols
We can create our own autorelease pool as soon as the thread begins executing; otherwise, our application will leak objects.