Доступ к ivars класса target-c внутри функции c ++ - PullRequest
1 голос
/ 07 августа 2010

У меня есть классjective-c, в котором есть строка ivar, которую мне нужно изменить при вызове функции обратного вызова. Беда в том, что обратный вызов находится в c ++, и поэтому я не могу получить доступ к ivars классаjective-c в этой функции c ++. Обратный вызов должен быть в C ++, который не может измениться. Я понимаю, что есть и другие способы сделать это, например, глобальная переменная, которая устанавливается этой функцией и читается моим классом, или класс-оболочка c ++, который содержит функцию и строку и является членом моего класса target-c. Однако я чувствую, что простая установка ivar в обратном вызове была бы самым простым и чистым способом сделать это. Кто-нибудь знает, как это сделать?

Ответы [ 2 ]

1 голос
/ 07 августа 2010

Я бы использовал метод получения / установки в классе Objective-C и передавал его функции как контекстную информацию.

0 голосов
/ 09 августа 2010

Кажется, вам нужно кодировать c ++ и цель C в одном и том же коде

, поэтому просто добавьте расширение файла как .mm и просто с легкостью сможете написать c ++ и цель c.

...