0
我在Cocoa小部件的顶部创建了一个C++薄层,并且存在一个处理NSButton事件而没有将ObjC对象作为目标的问题。在C++中的NSButton事件处理
任何想法如何使用C++类方法来处理按钮点击?
例如:
[button setTarget:cppObj];
[button setAction:@(cppObjMethod:)]
上面的代码不工作,当然。
我在Cocoa小部件的顶部创建了一个C++薄层,并且存在一个处理NSButton事件而没有将ObjC对象作为目标的问题。在C++中的NSButton事件处理
任何想法如何使用C++类方法来处理按钮点击?
例如:
[button setTarget:cppObj];
[button setAction:@(cppObjMethod:)]
上面的代码不工作,当然。
您需要将目标和操作设置为自己调用C++代码的Objective-c类/方法。
是的,好像我必须这样做 - 子类化每个包装的小部件,并实现与我的逻辑一起工作的事件方法。 wxWidgets以不同的方式进行,看起来像是涉及到一些ASM的魔法,但现在我不需要它了。 – Karolis 2011-06-10 07:08:10
是的,你*可以*使用运行时方法和intecept消息/将它们传递给C++代码等,但它可能变得非常脏,非常快! – 2011-06-10 08:32:27