Может ли класс использовать методы, объявленные в одной из своих категорий? - PullRequest
1 голос
/ 24 августа 2011

У меня большой класс. Подводя итог, можно сказать, что у него есть только один метод, который должны вызывать другие классы, а затем набор методов для выполнения разных задач, в зависимости от типа полученных данных. Файл .m становится настолько большим, что я хочу разделить его. Моя идея состоит в том, чтобы разделить методы между различными категориями (каждая категория будет работать с определенным типом данных). И я так и сделал.

Внутри основного метода я ничего не менял, поэтому такие строки, как

[self methodNowInMyCategory];

все еще там. Однако теперь я получаю предупреждения в главном файле моего класса, поскольку «метод экземпляра -methodNowInMyCatefory не найден». Основной файл .h импортирует файлы категорий .h, поэтому методы видны (Xcode раскрашивает код). Класс просто не признает их своими.

Есть ли в классе способ использовать метод, объявленный в одной из его категорий? Если нет, какой подход вы бы порекомендовали мне для решения моей проблемы? Основной метод получает путь к файлу, открывает файл, анализирует содержимое и затем отправляет ему один или несколько методов.

1 Ответ

5 голосов
/ 24 августа 2011

Вы можете разделить объявления категорий на один или несколько файлов .h, а затем импортировать заголовки категорий в основной файл .m.

...