나는 혼합 C++/ObjC 프로젝트에서 어떤 종류의 포워딩을하고 싶습니다.C++ 메서드를 ObjC 선택기로 사용 하시겠습니까?
논리가 C++이고 objC에 대한 선택기로 C++ 객체 인스턴스에 속한 메소드를 제공하고자합니다. 이 작업을 수행 할 여지가 있습니까?
주로 질문입니다. 어쨌든 C++ 메서드를 선택기로 가짜로 만듭니다 : ObjC에주고 그것을 다시 호출 할 수 있습니까?).
미리 감사드립니다. Anoide.
나는 혼합 C++/ObjC 프로젝트에서 어떤 종류의 포워딩을하고 싶습니다.C++ 메서드를 ObjC 선택기로 사용 하시겠습니까?
논리가 C++이고 objC에 대한 선택기로 C++ 객체 인스턴스에 속한 메소드를 제공하고자합니다. 이 작업을 수행 할 여지가 있습니까?
주로 질문입니다. 어쨌든 C++ 메서드를 선택기로 가짜로 만듭니다 : ObjC에주고 그것을 다시 호출 할 수 있습니까?).
미리 감사드립니다. Anoide.
Objective-C 런타임에서 관리하지 않으므로 C++ 메서드의 선택기를 가져올 수 없습니다. 당신은하지만, 할 수 있습니다
당신은 목표 - C 프록시 객체의 C++ 객체를 래핑 수 :
@interface MyObjCClass: NSObject {
MyCPPClass *thing;
}
-(int)foo;
@end
@implementation MyObjCClass {
-(id)init {
if (self = [super init]) {
thing = new MyCPPClass();
}
return self;
}
-(void)dealloc {
delete thing; // It's been a long time since I last did C++; I may have the incorrect syntax here
[super init];
}
-(int)foo {
return thing->foo();
}
}
@end