2011-06-09 65 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