Как добавить категорию в класс Objective C в модуле?

Мне нужно расширить функциональность модуля библиотеки, написанного на Objective C (остальная часть проекта — на Swift). Я создал файлы MyClass+Category .h и .m (как категорию) с выбранным модулем в качестве цели, но я получаю сообщение об ошибке «файл не найден» в заголовке по адресу:

#import <MyLib/MyLib.h>

Как мне получить заголовок категории, чтобы найти исходный класс?

Альтернативой было бы написать расширение на Swift, есть ли там какие-то ошибки, о которых я должен знать?

Также благодарен за любые лучшие способы, которые могут быть.


person HenryRootTwo    schedule 21.08.2018    source источник
comment
Обычно вам придется обращаться к фреймворку: #import <Framework/MyClass.h>. Не могли бы вы прояснить структуру класса, который вы пытаетесь классифицировать?   -  person Ian MacDonald    schedule 22.08.2018
comment
Кажется, это удалось. Странно, что Xcode спрашивает меня, для какого класса я создаю категорию, а затем дает мне оператор импорта, который не работает. Я отредактирую сообщение, чтобы отразить фактическое заявление об импорте, которое я получил, на случай, если это поможет кому-то еще.   -  person HenryRootTwo    schedule 22.08.2018
comment
Cocoapods генерирует заголовочный файл зонтика с уродливым суффиксом -umbrella. Твой #import <MyLib/MyLib-umbrella.h>   -  person Cy-4AH    schedule 22.08.2018


Ответы (1)


Добавление связующего заголовка в ваш проект. затем импортируйте свою категорию в класс BridgingHeader. вы легко получаете доступ к своей категории.

как добавить заголовочный файл смотрите по этой ссылке. https://stackoverflow.com/a/39615171/8687925

person SAXENA    schedule 22.08.2018