Работа с Objective-C #import зависимостями

78
8

Я создаю набор файлов (в основном, в библиотеке) для выполнения задачи, которую я буду использовать в приложении iOS. В библиотеке есть один общедоступный заголовочный файл, который импортирует все другие файлы заголовков, чтобы код, который использует эту библиотеку, должен был импортировать только один заголовок. Однако этот открытый заголовок также определяет перечисление, которое используется внутренне большинством других файлов, поэтому эти файлы должны импортировать общедоступный заголовок. Это создает круговые зависимости, и я получаю ошибки сборки, связанные с не распознанными символами.


Каков правильный способ обработки #import в такой ситуации, когда публичный файл заголовка делает доступным для публики множество объектов библиотеки, но зависимым файлам также требуется перечислить (плюс протокол, фактически) определяется в публичном заголовке?

спросил(а) 2021-01-19T18:36:51+03:00 6 месяцев, 2 недели назад
1
Решение
89

Извлеките определения типов в другой заголовок.

В противном случае вам нужно будет использовать включить охранников - но это действительно будет просто взломать недостатки дизайна.

ответил(а) 2021-01-19T18:36:51+03:00 6 месяцев, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема