2016-05-13 4 views
0

У меня возникла следующая проблема:Можно ли изменить заголовок (Project) -Swift.h?

Я объявил протокол в файле Swift, и я хочу реализовать его в Objective-C. Я добавил аннотацию @objc к моему протоколу, поэтому Xcode может генерировать определение внутри моего (Project) -Swift.h файла, и он отлично работает.

Однако я не могу импортировать файл (Project) -Swift.h в любой из моих заголовков objc, поскольку (я полагаю) он генерируется после обработки этих заголовков. Это не имеет большое значение, потому что я могу просто использовать этот обходной путь в моем объективном заголовочном файле:

@protocol MySwiftProtocolName; 

Он собирает и работает нормально, но он также будет броски предупреждения для каждого класса, который реализует свой быстрый протокол:

Cannot find protocol definition for MySwiftProtocolName 

Итак, мой вопрос: возможно ли заставить Xcode сгенерировать файл (Project) -Swift.h, прежде чем он начнет обрабатывать обычные файлы .h?

Благодаря

+0

Я думаю, вам нужно создать один быстрый файл, который использует ваш быстрый код. Я не думаю, что вы можете напрямую использовать любые сторонние фреймворки сторонних разработчиков, которые разрабатываются быстро и напрямую, вы можете использовать в объективе c. –

ответ

0

Вы должны быть в состоянии добавить #import "(Project)-Swift.h" в файл, где вы реализующий этот быстрый протокол. Иногда синтаксис Xcode становится забавным, а не автозаполняет это имя заголовка, но во время компиляции он должен работать.

Если вы не можете предоставить больше контекста того, как выглядит протокол, поскольку он не может быть коммутируемым с Objective-C, и поэтому он не генерируется вообще.

Смежные вопросы