Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective-c中的自定义事件处理_Objective C_Cocoa_Event Handling_Nstableview - Fatal编程技术网

Objective-c中的自定义事件处理

Objective-c中的自定义事件处理,objective-c,cocoa,event-handling,nstableview,Objective C,Cocoa,Event Handling,Nstableview,我需要从NSTableView调用[cmd+双击]事件的一个块。我了解-setDoubleAction:API,该API用于设置双击事件的选择器&-keyDown:用于处理按键事件的委托方法 我需要的是在一个定制的事件处理程序中结合这两种方法。任何指点都将不胜感激 有没有办法注册这样一个自定义事件设置回调选择器?我不确定这对您是否足够好,但我要声明一个BOOL属性,我在keyDown事件中为所需的键设置为“YES”,在keydup事件中设置为“NO”。 在双击事件的操作中,我会检查BOOL属性,

我需要从NSTableView调用[cmd+双击]事件的一个块。我了解-setDoubleAction:API,该API用于设置双击事件的选择器&-keyDown:用于处理按键事件的委托方法

我需要的是在一个定制的事件处理程序中结合这两种方法。任何指点都将不胜感激


有没有办法注册这样一个自定义事件设置回调选择器?

我不确定这对您是否足够好,但我要声明一个BOOL属性,我在keyDown事件中为所需的键设置为“YES”,在keydup事件中设置为“NO”。
在双击事件的操作中,我会检查BOOL属性,如果它为“是”->则执行该操作,否则返回。

是,这是一种确定的执行方法。这是我现在名单上的最后一个办法。一个更微妙的组合事件处理方式是我所寻找的。。。一个委托回调,而不是2个。在任何情况下,您是否在任何实际场景中尝试过这一点?你看到任何异常或滞后吗?我写了一个包装器来绕过组合事件处理。使用以下回调:-(void)flagshanged:(NSEvent*)事件,我能够检查相关键是否被按下/释放,并基于此设置私有标志。然后在-setDoubleAction:,我检查是否按下了该键并调用我必须在[cmd+双击]上调用的相关方法。