0
我有一堆用戶默認值,我保存並加載到applicationWillTerminate/awakeFromNib上。見下文。爲NSTextField加載NSUserDefaults時出錯
對象是複選框(NSButton),滑塊(NSSlider)和一個文本字段(NSTextfield)。
我是在OS X上。在複選框和滑塊上沒有問題。
[txtRemark setStringValue :[myDefaults stringForKey:kTxtRemark]];
由於種種原因I'm得到一個SIBART爲什麼:(禁用此線時,沒有錯誤我不能弄清楚:
不幸的是與裝載的NSTextField當行我有一個問題。
我的應用程序拋出一個異常,但我不知道如何找出what's錯誤。
異常一路下跌的屏幕截圖。
感謝您的幫助。
鍵是定義像這樣:
節省 myDefaults上applicationWillTerminate這樣
NSUserDefaults *myDefaults = [NSUserDefaults standardUserDefaults];
[myDefaults setObject :[isAppointment state] forKey:kIsAppointment];
[myDefaults setObject :[boxForEver state] forKey:kBoxForEver];
[myDefaults setObject :[boxMakeSound state] forKey:kBoxMakeSound];
[myDefaults setObject :[tickTackFlag state] forKey:kTickTackFlag];
[myDefaults setObject :[slideHour intValue] forKey:kSlideHour];
[myDefaults setObject :[slideMin intValue] forKey:kSlideMin];
[myDefaults setObject :[slideSec intValue] forKey:kSlideSec];
[myDefaults setObject :[startAuto state] forKey:kStartAuto];
[myDefaults setObject :[txtRemark stringValue] forKey:kTxtRemark];
[myDefaults setObject :[volumeAdjust intValue] forKey:kVolumeAdjust];
負載 myDefaults上awakeFromNib這樣
NSUserDefaults *myDefaults = [NSUserDefaults standardUserDefaults];
[isAppointment setState :[myDefaults stringForKey:kIsAppointment]];
[boxForEver setState :[myDefaults stringForKey:kBoxForEver]];
[boxMakeSound setState :[myDefaults stringForKey:kBoxMakeSound]];
[tickTackFlag setState :[myDefaults stringForKey:kTickTackFlag]];
[slideHour setIntValue :[myDefaults stringForKey:kSlideHour]];
[slideMin setIntValue :[myDefaults stringForKey:kSlideMin]];
[slideSec setIntValue :[myDefaults stringForKey:kSlideSec]];
[startAuto setState :[myDefaults stringForKey:kStartAuto]];
[txtRemark setStringValue :[myDefaults stringForKey:kTxtRemark]];
[volumeAdjust setIntValue :[myDefaults stringForKey:kVolumeAdjust]];
mh,我試圖找出幾種可能性,以找出如何擺脫異常而沒有成功。其實我看不出有什麼不對。保存用戶默認值時,一切似乎都可以正常工作。我能做什麼? –
您應該將該行分爲兩部分(「獲取值」和「設置字符串值」)。然後坐在第一個斷點上並檢查調試器中的值。 –