2012-11-08 115 views
2

有一種Objective-c類實現C++接口嗎?Objective-C類實現C++接口


例如,我有在C++ IInter一個接口:

class IInter { 
public: 
    virtual void doSomething() = 0; 
} 

我有一個C++類,它需要一個IInter實例:

class MyClass { 
public: 
    MyClass(IInter delegate); 
} 

,我需要使用MyClass的Objectiv-C類的實例,我如何做到這一點?

@interface MyObjcClass : NSObject <UIInter> ... ?? 

謝謝大家!

+0

@BoPersson好的,我會添加詳細信息。 – ademar111190

回答

3

如果你想在一個objective C項目中混合使用C++類,那麼最好的辦法似乎是將你的C++類型和函數用Objective-C等價物包裝起來。這在articlehere中有很好的解釋。請注意,如果您使用的是clang,則可以在您的class extension中聲明您的C++ ivar,這可能是最乾淨的方式。

+0

謝謝,非常好的文章,但如果有直接實現的方式會更多的樣本,如果沒有其他方式我使用像文章解釋的包裝。 – ademar111190

+0

再次,我認爲包裝是去那裏的方式沒有簡單的方法。 – tiguero