我正在使用shortcutrecorder來記錄鍵盤快捷鍵並將它們保存爲默認值的XCode4中的Cocoa/Objective-C應用程序。使用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
。任何提示處理這個最好的方法?