2011-06-09 66 views
0

我在Cocoa小部件的顶部创建了一个C++薄层,并且存在一个处理NSButton事件而没有将ObjC对象作为目标的问题。在C++中的NSButton事件处理

任何想法如何使用C++类方法来处理按钮点击?

例如:

[button setTarget:cppObj]; 
[button setAction:@(cppObjMethod:)] 

上面的代码不工作,当然。

回答

2

您需要将目标和操作设置为自己调用C++代码的Objective-c类/方法。

+0

是的,好像我必须这样做 - 子类化每个包装的小部件,并实现与我的逻辑一起工作的事件方法。 wxWidgets以不同的方式进行,看起来像是涉及到一些ASM的魔法,但现在我不需要它了。 – Karolis 2011-06-10 07:08:10

+0

是的,你*可以*使用运行时方法和intecept消息/将它们传递给C++代码等,但它可能变得非常脏,非常快! – 2011-06-10 08:32:27