Здравствуйте. Я пытаюсь контролировать ключи, которые пользователь нажимает в приложении cacao.Невозможно инициализировать параметр типа NSEvent * с rvalue типа void
Я использовал этот код:
// this code works!
CGEventMask keyboardMaskKeyDown = CGEventMaskBit(kCGEventKeyDown);
keyboardEventresult = [NSEvent addGlobalMonitorForEventsMatchingMask:keyboardMaskKeyDown handler:^(NSEvent *keyboardEvent)
{
keyboardEventresult = keyboardEvent;
_currentKeystr = [NSString stringWithFormat:@"%c",[[keyboardEvent characters]characterAtIndex:0]];
NSLog(@"Pressed key: %@",_currentKeystr);
[hiddentextfield setStringValue:[NSString stringWithFormat:@"%@",_currentKeystr]];
}];
Но проблема в том, что когда я изменяю:
addGlobalMonitorForEventsMatchingMask
в
addLocalMonitorForEventsMatchingMask
Я получаю сообщение об ошибке говорящее Cannot initialize a parameter of type NSEvent *(^)(NSEvent *_strong) with an rvalue of type void(^)(NSEvent *_strong)
Here вы можете увидеть, что яблоко делает что-то подобное
_eventMonitor = [NSEvent addLocalMonitorForEventsMatchingMask:
(NSLeftMouseDownMask | NSRightMouseDownMask | NSOtherMouseDownMask | NSKeyDownMask)
handler:^(NSEvent *incomingEvent)
Любые идеи о том, как это исправить?
Спасибо, не заметил этого :) – Jona