Я обычно импортирую другие заголовки в текущий файл заголовка, если я планирую использовать их классы в объявлении свойства. Однако это может создать хаос, если классы ссылаются друг на друга.
Если это так, то вы захотите включить заголовки в файл .m, чтобы их можно было использовать внутри класса, но для любого внешнего доступа к этим элементам вы бы использовали id вместо ваших пользовательских классов. И разыгрывайте их, когда вы получаете их другими ссылочными методами.
Я сталкиваюсь с этой проблемой, если включаю AppDelegate.h, а затем ссылаюсь на другой класс в делегате приложения.
причина этого в том, что я хочу включить ссылку на мой текущий объект в делегат приложения, но класс также использует делегат приложения для доступа к другим классам. В этом случае я бы включил классы в AppDelegate.h и включил AppDelegate.h в файл m класса.
Надеюсь, это имело смысл.