Сохранение / загрузка сочетаний клавиш с помощью ярлыка? - PullRequest
1 голос
/ 02 декабря 2011

Я работаю над приложением 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.Любые советы о том, как лучше всего справиться с этим?

1 Ответ

1 голос
/ 03 декабря 2011

Попробуйте SRMakeKeyCombo(code, flags)

...