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