2012-11-28 77 views
1

我對Objective-C非常陌生。
我想從單獨的.cpp文件中定義的C++類中調用Objective-C方法。從CPP代碼調用Objective-C方法

我已經使用dreamlax這個問題的答案所描述的相同機制(不是PIMPL一個) http://stackoverflow.com/questions/1061005/calling-objective-c-method-from-c-method

但我停留在點如何從CPP類的參數objectiveCObject調用函數int MyCPPClass::someMethod (void *objectiveCObject, void *aParameter);

也可以解釋一下如何從Objective-C代碼中調用一個C++類的函數。

+1

我曾經寫過一個很簡單的例子來回應某人的問題。也許它會給你的想法:http://stackoverflow.com/questions/13236476/c-callbacks-with-objective-c-an-application-to-rtmidi/13236838#13236838 –

+0

感謝您的例子,在您的'OCClass .mm'文件最後添加了C++類實現。我們可以移動這個實現來分離C++文件嗎?或者它應該只在該文件中。 – User7723337

+0

它需要在.mm文件中,因爲它使用Objective-C代碼作爲該實現的一部分。我認爲它可以被移植到它自己的文件中,但是我的O-C++習慣是通過一對類連接語言並將它們一起實現,這樣我只有一個地方可以查找該代碼。 –

回答

3

您必須在執行調用的文件中使用Objective-C++。要從Xcode執行此操作,請將文件從Whatever.m重命名爲Whatever.mm。然後你可以混合呼叫。