NSUserDefaults から int を保存および取得するときに問題が発生しています。次のコードを使用して NSUserDefaults に保存しています。
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"
以下のコードを使用して番号を取得すると:
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 が予想よりも大きいため、エラーを返す別のメソッドに後でこの int を渡します。
NSUserDefaults には NSInteger が含まれていますが、その時点でも間違っています。私は何を間違っていますか?ありがとう、ジェームズ