[英]Objective-C instance into C++ class
如何將Objective-c類實例化為CPP類?
例如我的CPP課程:
class Foo{
public:
Foo();
private:
MyObjcClass* myObjcClass; //it does not work
}
我該怎么做?
注意我為Objective-C使用.m,為C ++使用.cpp。
非常感謝!
或
id
。 如果使用id
,則應在定義中引入類型,例如:
// Foo.mm
Foo::~Foo() {
MyObjcClass * a = this->myObjcClass;
[a release];
}
通常,您應該保留類型( MyObjcClass
)並避免使用id
,但是將變量聲明為id
與C和C ++兼容,因此可以使用id
避免將包含Foo.hpp的所有內容編譯為ObjC ++。
有兩種方法可以做到這一點。 理智的方法是使用Objective-C ++。 您可以使用擴展名為.mm
文件執行此操作,也可以更改構建設置。 默認設置是基於文件擴展名進行編譯,但是您可以強制在.cpp
或.m
文件上使用Objective-C ++。
瘋狂的方法是在objc.h中使用原始的Objective-C接口。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.