Рекомендуется помещать операторы #import в файлы .m. Если вам нужен доступ к классу внутри файла заголовка, для объявления свойства или параметра функции, используйте предварительное объявление, например:
@class Cocos2DController;
@interface HoppersAppDelegate : NSObject <UIApplicationDelegate> {
Cocos2DController* controller;
}
Предварительное объявление позволяет системе узнать, что класс существует, хотя он еще не полностью определен. Используя этот шаблон, вы сохраните свои заголовки и гарантируете, что импортируете только те заголовки, которые вам нужны для определенного класса, а не объединяете #imports во всем приложении.
Для конкретной проблемы, с которой вы можете столкнуться: если вы включите операторы #import в файл заголовка, вы рискуете выполнить цикл #import, если два класса импортируют файлы заголовков друг друга.