gpt4 book ai didi

ruby - 麦克鲁比 : Using ruby method as AXObserverCallback

转载 作者:行者123 更新时间:2023-12-03 17:27:16 25 4
gpt4 key购买 nike

我尝试使用 macruby 来留意文本字段的更改。

AXObserverCreate 需要 AXObserverCallback 作为参数。如何传递 ruby​​ 函数作为回调?

我在AX.m中的函数:

+ (AXError) addNotificationWithElement: (AXUIElementRef) element
forEvent:(CFStringRef) event_type
callback:(AXObserverCallback) acallback;

这就是我想要调用此方法的方式:

rb_main.rb:

def my_callback *args
p args
end

p AX.addNotificationWithElement ref,
forEvent:'AXValueChange',
callback: *** What to write here?***

要向需要 AXObserverCallback 作为回调参数的 addNotificationWithElement 函数传递什么?

引用:Apple documentation for AXObserverCallback

最佳答案

您应该能够传递任何采用 Apple 文档中给出的参数的 Proc(或 lambda)。在这种情况下:

proc { |observer, element, notification, refcon| ... }

您可以在示例中使用以下内容(即,如果回调是一个方法):

proc { |*args| my_callback *args }

我还没有在需要 AXObserverCallback 的情况下测试过它,但这似乎是一般模式。

关于ruby - 麦克鲁比 : Using ruby method as AXObserverCallback,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/845479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com