Можно создать дубликат:
@class vs. #import
Cocoa: What's the difference between importing in the header and importing in the main file?В чем разница между импортом класса в файле интерфейса и форвардной декларацией (@class)?
Я просто хотел бы знать, в чем разница между импортом файла заголовка в нашем файле интерфейса и используя @class в нашем файле интерфейса? И я заметил, что если мы импортируем заголовочный файл в наш файл интерфейса, мы можем напрямую создавать наши экземпляры этого класса. В отличие от импорта файла заголовка, у нас есть что-то вроде использования @class в файле интерфейса и импорта заголовка в файле реализации? Может ли кто-нибудь пролить свет на это?