Как создать объекты Какао в C ++? - PullRequest
0 голосов
/ 20 марта 2012

Возможно ли и как создавать объекты таких классов, как NSString из кода C ++?

1 Ответ

2 голосов
/ 20 марта 2012

У вас есть 3 варианта:

1) Если вы в основном пишете на C ++ и хотите общаться с API, который ожидает строки и коллекции какао, то Core Foundation - это C (и, следовательно, C ++).) API для создания и взаимодействия со многими классами Фонда.Многие классы какао с префиксом NS имеют префикс с префиксом CF и могут использоваться взаимозаменяемо.

2) Если вы интегрируете код c ++ с кодом Objective-C, тогда у вас есть возможность компилировать интерфейсные классыкак target-c ++, который позволяет смешивать оба в одном и том же исходном файле.Поэтому вполне допустимо делать такие вещи, как vector.push_back( [NSString stringWithFormat:@"string"] )

3) Можно получить доступ (достаточно близко) ко всему целевому языку c как к библиотеке времени выполнения C, включая <objc/runtime.h>.На самом деле я не могу придумать вескую причину для использования этого над одним из двух других, но, возможно, стоит иметь в виду, если есть веская причина, которую вы не можете.

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