Заголовок, созданный интерфейсом C, не может быть импортирован в другой заголовок

Я не профессионал в Obj C, но я должен написать некоторый код в Objective C и связать с ним код Swift. Я успешно импортировал сгенерированный заголовок в файл.m:

#import "<my_module>-Swift.h"

Но когда я пытаюсь импортировать тот же заголовок в.h файл, он выдает эту ошибку:

Кстати, я только хочу добавить открытую переменную, которая создается из класса Swift, к определенному объектному классу. Я попытался поместить эти строки в файлы.h и.m:

@property (nonatomic, readwrite, strong) Card *card;

Что я должен делать?

2 ответа

Решение

В вашем случае, так как все, что вам нужно сделать, это объявить свойство типа Card* вам на самом деле не нужно импортировать заголовок - вы можете просто объявить класс вперед @class Card; перед его использованием.

Если вы хотите сослаться на класс Swift в заголовке Objective C, вы не можете #import *-Swift.h файл, но лучше использовать предварительную декларацию, как описано в https://developer.apple.com/library/ios/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html, см. раздел "Ссылки на класс Swift или протокол в Заголовок Objective-C. Это в основном то, что @jtbandes предлагает в комментарии.

Здесь есть один момент: класс Swift, который вы хотите использовать в Objective-C, должен расширять класс NSObject, прямо или косвенно.

Другие вопросы по тегам