使用shortcutrecorder保存/加载键盘快捷键?

时间:2011-12-02 18:50:51

标签: objective-c cocoa xcode4 keyboard-shortcuts nsuserdefaults

我正在使用XCode4中的Cocoa / Objective-C应用程序,该应用程序使用shortcutrecorder来记录键盘快捷键并将其保存为默认值。

我正在保存记录器中的KeyCombo.codeKeyCombo.flags属性,即:

[shortcutRecorder KeyCombo].code
[shortcutRecorder KeyCombo].flags

shortcutRecorder与[{1}}的{​​{1}}相对应。

为了在用户再次打开首选项窗口时恢复已保存的键盘快捷键,我从默认值中加载IBOutletSRRecorderControl属性,并需要将它们还原到`SRRecorderControl。

我正在尝试:

KeyCombo.code

但这会导致错误:KeyCombo.flags

我认为这可能是因为 [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]]]; 。有关处理此问题的最佳方法的任何提示吗?

1 个答案:

答案 0 :(得分:1)

尝试SRMakeKeyCombo(code, flags)

相关问题