You can not forward declare the superclass. You need to import its header file.
Also you have to import the protocols’ header files. For this reason, protocols need to be defined in their own file. Because if you define all protocols in one header file, when you import this file you would end up with a huge file and longer build time.
But sometimes protocols are defined in their related class’ header file, especially delegate protocols. In these cases, rather than importing the file in header, you can import it in class-continuation category.
