Как отправить сообщение из класса C ++ в Objective- C ViewController? - PullRequest
0 голосов
/ 25 марта 2020

Я хочу отправить сообщение с двумя параметрами из класса C ++ (. cpp файл) в Object- C ViewController (.m файл), как я могу это сделать?

1 Ответ

0 голосов
/ 25 марта 2020

Как прокомментировал molbdnilo, измените ваш файл реализации C ++ на расширение .mm, заставив Xcode построить его как Objective-C ++. Пока вы занимаетесь этим, создайте файл реализации контроллера представления .mm. Таким образом, вы можете использовать оба типа: C ++ и Objective- C и синтаксис в обоих. Вы можете либо вызвать метод Objective- C из функции C ++, либо обработать функцию C / ++ в модуле реализации контроллера представления (но не в самом классе Obj- c):

Попробуйте: 1. Вы можете включить синтаксис метода Objective- C (квадратные скобки и все) внутри любой реализации функции C ++ в файле .mm. Преобразуйте параметры в C примитивные типы или экземпляры класса Obj- C для их передачи.

Или: 2. Сделайте файл реализации вашего контроллера представления в формате .mm и напишите глобальный C или C ++ Функция в нем, что вы можете объявить extern в вашем C ++ файле и вызывать оттуда. Это устраняет необходимость передавать указатель контроллера представления в модуль C ++. Здесь я обычно сохраняю указатель stati c в файле реализации V C для глобальной функции доступа к контроллеру представления. Конечно, это только один экземпляр. Для нескольких экземпляров контроллера вам понадобится другой подход, например # 1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...