Это распространенная проблема, и ее очень легко решить.Решение состоит в том, чтобы просто выполнить импорт в файлы .m.Если вам нужно, чтобы тип был известен в файле .h, вы просто используете предварительное объявление.
@class ClassName;
Это так просто.
РЕДАКТИРОВАТЬ: Aболее подробное объяснение:
Как правило, в файле .h методы и свойства класса не должны быть известны.Все, что вам нужно сделать, это сообщить компилятору, что существует класс с именем ClassName
.На этом этапе компилятору не нужно больше ничего знать о классе.В файле .m вам нужно будет знать методы и свойства этого класса, иначе вы не сможете его использовать.Таким образом, в файле .m вы импортируете класс.
Просто для ясности:
// SomeClass.h
@class ClassName;
// SomeClass.m
#import "ClassName.h"
Это называется предварительным объявлением.Вы можете найти его в Google, чтобы узнать больше или прочитать вводную книгу по программированию.Это очень простая концепция программирования, и важно, чтобы вы ее изучили.