保存&從NSUserDefaults檢索int時遇到問題。我正在使用以下代碼保存到NSUserDefaults:從NSUserDefaults檢索NSInteger時出現問題
int globalRank = 1;
NSUserDefaults *submissionDefaults = [NSUserDefaults standardUserDefaults];
[submissionDefaults setInteger: globalRank forKey:@"globalRankIntForLT"];
NSLog(@"updating %@ as the globalRank in NSUserDefaults",globalRank);
[submissionDefaults synchronize];
這似乎工作正常。在我的輸出,我可以看到:
"updating 1 as the globalRank in NSUserDefaults"
當我使用下面的代碼retreive數量:
NSUserDefaults *submissionDefaults = [NSUserDefaults standardUserDefaults];
NSInteger *currentGlobalRank = [submissionDefaults integerForKey:@"globalRankIntForLT"];
int currentGlobalRankInt = currentGlobalRank;
NSLog(@"Retrieved skip int is: %d as nsinteger is: %d",currentGlobalRankInt, currentGlobalRank);
I get output:
"Retrieved skip int is: 4978484032 as nsinteger is: 4978484032"
我後來這個中斷傳給因爲4978484032是大於它是返回一個錯誤的另一種方法期待。
NSUserDefaults包含一個NSInteger,但即使在這一點上它也會出錯。我究竟做錯了什麼?謝謝,詹姆斯
我不知道NSInteger的是原始的。我今晚會嘗試這個結果並更新結果。謝謝,James – JamesLCQ
@JamesLCQ「我不知道」 - **你應該總是閱讀你想使用的類型和類的文檔。不要猜測。** – 2013-01-09 12:01:17
我確實閱讀過文檔,但它肯定會讓我失望。謝謝你的幫助。 – JamesLCQ