将用户数据附加到AXObserver

时间:2010-05-03 22:38:05

标签: objective-c cocoa macos-carbon

我正在使用AXObserver来监控窗口何时关闭。在回调中,我只是提出了一个NSNotification。一切顺利。

将一些用户数据作为refcon附加的正确语法是什么?工作电话如下:

err6 = AXObserverAddNotification(observerTable, tableRef, kAXUIElementDestroyedNotification, nil);

并且在创建观察者时指定的回调具有签名:

static void cbTableClosed (AXObserverRef observer, AXUIElementRef element, CFStringRef notification, void *refcon)

我想用自己的对象替换refcon,但不知道如何更改任何一行。显而易见的objective-c类型通过警告更改。

1 个答案:

答案 0 :(得分:1)

在添加观察者时将对象的id强制转换为void *,并转换回MyObject *函数体内的特定对象类型(cbTableClosed)。