Преобразование между целыми числами objc и перечислениями C ++ в коде Objective C ++ - PullRequest
3 голосов
/ 01 декабря 2011

У меня есть селектор Objective C, который возвращает целые числа.У меня есть метод экземпляра C ++, который ожидает перечисление.Как я могу связать их?Я делаю это в классе Objective C ++ (.mm).

Я хочу назвать это:

TKClass::foo(MyEnum enumVal) { ... }

С возвращаемым значением этого:

- (int) intValue { ... }

Примерно так:

myCPPInstance->foo([myObjCInstance intValue]);

Я пробовал кастовать (foo((MyEnum) [myObjCInstance integerValue])), но это не работает.Я определенно не хочу, чтобы мой объект Objective C знал что-либо о перечислении;intValue должен оставаться целым числом.Точно так же я не хочу, чтобы метод C ++ беспокоился о целочисленных входных данных, когда он должен принимать перечисления.

Я не большой программист на C ++, поэтому извините, если это просто.

Спасибо

РЕДАКТИРОВАТЬ: перечисление определяется следующим образом:

enum MyEnum { 
   Apples = 0,
   Bananas = 1,
   Chocolate = 2
};

1 Ответ

2 голосов
/ 01 декабря 2011

Это была проблема пространства имен. Актерский состав должен был быть:

myCPPInstance->foo((myNamespace::MyEnum) [myObjCInstance intValue]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...