我有這樣的事情:如何在ANSI-C++中實現UIView方法?
// main.m
@interface MYView : UIView { @public int counter; } @end;
@implementation MYView
- (void)drawRect:(CGRect)rect {
}
@end
現在我想在這裏移除實現的drawRect方法(或任何其他方法),並將其移動到C++文件utility.cpp。
我需要這個的原因是我必須使用一些C++庫,它不會在Objective-C++中編譯。我需要密集使用該庫,以便來回切換不方便。
我知道我能simly做到這一點:
- (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.
我很抱歉問,但您爲什麼要這麼做? – 2013-04-29 08:37:28
我需要這個的原因是我必須使用一些C++庫,它不會在Objective-C++中編譯。 – exebook 2013-04-29 08:37:58
對不起,我從你的問題中得到了答案。你爲什麼用C++代碼繪圖(或者只畫一個簡單的例子)? – 2013-04-29 08:40:00