Я работаю над приложением Cocoa / Objective-C в XCode4, которое использует shortcutrecorder для записи сочетаний клавиш и сохранения их по умолчанию.
Я сохраняю KeyCombo.code
и KeyCombo.flags
атрибутов с рекордера, то есть:
[shortcutRecorder KeyCombo].code
[shortcutRecorder KeyCombo].flags
Где shortcutRecorder
- это IBOutlet
для SRRecorderControl
.
Для восстановления сохраненных сочетаний клавиш при открытии пользователемСнова в окне настроек, я загружаю атрибуты KeyCombo.code
и KeyCombo.flags
из значений по умолчанию, и мне нужно восстановить их в `SRRecorderControl.
Я пытаюсь сделать:
[shortcutRecorder setKeyCombo:[
PTKeyCombo keyComboWithKeyCode:
[shortcutRecorder keyCombo].code
modifiers:[shortcutRecorder cocoaToCarbonFlags:[shortcutRecorder
keyCombo].flags]]];
Но это вызывает ошибку: Sending 'id' to parameter of incompatible type 'KeyCombo' (aka 'struct_KeyCombo')
Я думал, что это может быть потому, что setKeyCombo
принимает объект KeyCombo
, а не PTKeyCombo
объект, поэтому я изменил его:
[shortcutRecorder setKeyCombo:[
KeyCombo keyComboWithKeyCode:
[shortcutRecorder keyCombo].code
modifiers:[shortcutRecorder cocoaToCarbonFlags:[shortcutRecorder
keyCombo].flags]]];
Но теперь я получаю сообщение об ошибке: Receiver type 'KeyCombo' (aka 'struct_KeyCombo') is not an Objective-C class
Я не уверен, как создать действительный объект для передачи в setKeyCombo
.Любые советы о том, как лучше всего справиться с этим?