我在C++中有一個靜態庫,現在我想在我的新Swift項目中使用這個庫。我發現我不能直接在Swift項目中使用C++類,所以我必須在OC中封裝這個庫。然後我有一些問題包裝:iOS如何在Swift項目中封裝C++類
//AbstractClassA.h
#include <string>
class AbstractClassA {
public:
virtual string getString() = 0;
virtual int getInt() = 0;
virtual ~AbstractClassA() {};
};
//AbstractClassB.h
class AbstractClassB {
public:
virtual void function(int a) = 0;
virtual ~AbstractClassB() {};
};
//ChildA.h
#include "AbstractClassA.h"
#include "AbstractClassB.h"
class ChildA : public AbstractClassA
{
public:
ChildA(int a = 640);
ChildA(AbstractClassB* classb, int a = 640);
virtual ~ChildA();
string getString();
int getInt();
protected:
int a;
string b;
};
如何在OC中包裝這些類?謝謝你的幫助!
不幸的是,這也是我的理解。這是很多工作。 – Tommy
對不起,我想不出ClassBWrapper,你能告訴我代碼片段嗎?在ChildAWrapper中,我真正需要什麼方法? initWithAbstractClassB:或initWithAbstractClassBWrapper? – SomnusLee