为什么这段代码不起作用:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
[NSEvent addGlobalMonitorForEventsMatchingMask:(NSScrollWheelMask) handler:^(struct NSEvent *event){
[scrollEvent:event];
}];
}
- (void)scrollEvent:event {
NSLog( @"scroll" );
}
它说“'scrollEvent'未声明”。
我只是在学习objc和cocoa,所以我认为这只是一个简单的错误。
答案 0 :(得分:5)
您的代码似乎有一些错误。我清理了一些,请看下面的内容。
- (void) applicationDidFinishLaunching:(NSNotification *) aNotification {
[NSEvent addGlobalMonitorForEventsMatchingMask: NSScrollWheelMask handler:^(NSEvent *event){
[self scrollEvent: event];
}];
}
- (void) scrollEvent: (NSEvent *) event {
NSLog( @"scroll" );
}
总结:
NSEvent *
,而不是。{
struct NSEvent *
。希望对该计划有所帮助和好运。
答案 1 :(得分:1)
我相信你的:scrollEvent方法的event参数需要有一个类型(NSEvent *)才能成为有效的方法签名。
- (void)scrollEvent:(NSEvent*)event {
NSLog( @"scroll" );
}