作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我尝试使用 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 文档中给出的参数的 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/
我尝试使用 macruby 来留意文本字段的更改。 AXObserverCreate 需要 AXObserverCallback 作为参数。如何传递 ruby 函数作为回调? 我在AX.m中的函数
我是一名优秀的程序员,十分优秀!