Вы можете использовать углерод, но это устарело.
Как говорит Оле, Objective-C несложно выучить, если у вас есть опыт работы с C ++ - и вы можете смешивать языки, если используете Objective-C ++ (что может быть полезно, но обычно лучше всего разбивать код, который использует разные языки - так что используйте Objective-C / Cocoa для уровня GUI и C ++ для логики ядра. Я делаю это таким образом в моей игре для iPhone, vConqr ).
Если вы работали с графическим интерфейсом в C ++, я думаю, вы поймете, почему Objective-C был выбран для Какао. Это очень хорошо для событийно-ориентированных проектов и имеет ряд абстракций, которые естественно подходят. Однако, когда вы перейдете в более абстрактные области, особенно если вы используете много контейнеров и алгоритмов, вы, вероятно, начнете находить ограничения немного раздражающими. Но дайте время - есть и другие полезные абстракции, которые не сразу очевидны (динамическая типизация, кодирование ключа / значения и другие формы отражения, категории ...).
Вы также можете найти этот вопрос о стеке полезным.