#c #objective-c #cocoa #nsbutton
#c #objective-c #cocoa #nsbutton
Вопрос:
Я создаю тонкий слой C поверх виджетов Cocoa, и возникает проблема обработки событий NSButton без объекта ObjC в качестве целевого.
Есть идеи, как я мог бы использовать методы класса c для обработки нажатия кнопки?
Например:
[button setTarget:cppObj];
[button setAction:@(cppObjMethod:)]
Приведенный выше код, конечно, не работает.
Ответ №1:
Вам нужно было бы установить цель и действие для класса / метода Objective-c, который сам вызывает код C .
Комментарии:
1. Да, похоже, мне придется пойти этим путем — подклассировать каждый обернутый виджет и реализовать методы событий, которые работают с моей логикой. wxWidgets делает это по-другому, похоже, это связано с некоторой магией ASM, но мне это сейчас не нужно.
2. Да, вы могли использовать методы среды выполнения и перехватывать сообщения / передавать их в код c и т.д., Но это может стать очень грязным, очень быстро!