Заголовок, созданный интерфейсом 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, прямо или косвенно.