我有这样的事情:
// main.m
@interface MYView : UIView { @public int counter; } @end;
@implementation MYView
- (void)drawRect:(CGRect)rect {
}
@end
现在我想从这里的实现中删除 drawRect 方法(或任何其他方法),并将其移动到 C++ 文件实用程序.cpp。
我需要这个的原因是我必须使用一些不能在 Objective-C++ 中编译的 C++ 库。而且我需要大量使用该库,这样来回切换并不方便。
我知道我可以简单地做到这一点:
- (void)drawRect:(CGRect)rect {
call_cpp_function(rect);
}
但也许我可以在 C++ 中完全定义该方法?像这样的东西:
void __magic_declaration__ MYView::drawRect(CPPTYPE(CGRect))
// note, this line is completely my own imagination, this is just to illustrate what I want.