Ошибка компиляции с #import - PullRequest
1 голос
/ 07 декабря 2011

У меня возникла ошибка в следующих отношениях

У меня есть 2 класса, класс A и класс B внутри заголовка класса A, он будет #import "Bh" внутри заголовка класса B, он будет #import"Ах"

У меня ошибка во время компиляции.Кто-нибудь знает, как я могу решить эту проблему?

Ошибка выглядит примерно так: ожидаемый список спецификаторов-спецификаторов до 'GameUILayer'

Ответы [ 2 ]

1 голос
/ 07 декабря 2011

Вы создаете круговую зависимость. Один класс должен импортировать другой. Они не могут оба импортировать друг друга. Если вы создаете интерактивные классы подобного рода, должна быть иерархия зависимости. B зависит от A, A зависит, как минимум, от корневого класса NSObject. Если вы сделаете два класса зависимыми друг от друга, компилятор может либо закричать на вас, либо попытаться скомпилировать его и в итоге бегать кругами. Большинство компиляторов рассчитаны на вас.

1 голос
/ 07 декабря 2011

Вместо импорта заголовков в файлах .h используйте предварительные объявления.Поэтому вместо

#import "ClassA.h"

вы используете:

@class ClassA

и т. Д.

, а затем вы используете оператор импорта в файлах .m.

См. Мой более ранний ответ для ссылки на документацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...