Заголовок моста Xcode 13, похоже, находит мои классы Obj-C

#ios #swift #objective-c #bridging-header

Вопрос:

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

У меня есть модель данных Objective-C, которую я хочу использовать в своем приложении Swift.

Поэтому при добавлении моей модели данных.m в папку «Мои модели» он также создал заголовок MyApp-Bridging.h в папке «Модели«.

введите описание изображения здесь

Я пробую несколько вещей в файле заголовка моста, чтобы импортировать свою модель проекта.h, например:

#импорт «ProjectModel.h»

#импорт «Модели/Модель проекта.h»

#импорт «MyApp/Модели/ProjectModel.h»

Но, похоже, ни один из них не работает так, как мне хотелось бы.

Файл заголовка моста также определен в Настройках сборки (см. Ниже).

введите описание изображения здесь

введите описание изображения здесь

Но как только я пытаюсь скомпилировать проект, у меня появляется ошибка: Не удается найти тип «Модель проекта» в области видимости (как показано ниже)

введите описание изображения здесь

И при использовании автозаполнения в модели проекта я получил это предупреждение:

введите описание изображения здесь

Я не знаю, чего мне сейчас не хватает, я был бы признателен за любую помощь, плюс, я бы предпочел уточнить, я делаю это на macOS Monterey с помощью Xcode 13.1.

Комментарии:

1. Можем ли мы посмотреть файл, который выдает ошибку?

2. На самом деле это любой файл Swift, который пытается создать экземпляр модели проекта , но, конечно, я могу предоставить вам снимок экрана 🙂

3. Ладно, может ProjectModel.h быть, пусто?

4. Он не пустой, вы тоже хотите скриншот ?

5. Может быть, есть два файла с одинаковым именем?

Ответ №1:

Добавьте следующую строку в начало файла Swift, в котором используется модель:

 import ProjectModel  

Комментарии:

1. Вы можете импортировать классы так же, как вы импортируете фреймворк ?