Core Data には、Integer 64 として宣言された多くの属性があり、NSNumber プロパティを介してアクセスされます (これはデフォルトです)。
次の方法でこれらの値を保存してアクセスしても問題ありませんか?
NSNumber *mySetValue = [NSNumber numberWithInt:someIntValue];
[myObject setMyNumberProperty:mySetValue];
int myRetrievedValue = [myObject.myNumberProperty intValue];
またはによって
NSNumber *mySetValue = [NSNumber numberWithInteger:someIntegerValue];
[myObject setMyNumberProperty:mySetValue];
NSInteger myRetrievedValue = [myObject.myNumberProperty integerValue];
?
答えを知りたい 2 つのケースがあります: 1) 必要な値が計算に使用される場合 (通貨に変換される数量または値を保持する場合) および 2) 値が単なる型である場合基本的にそれ自体と比較されるだけで、計算には使用されません。numberWithInt と intValue を一方のケースで使用し、他方のケースでは使用しないこと、または両方のケースで numberWithInteger と integerValue を使用する必要がありますか?
また、以前にすべての値を [NSNumber numberWithInt:] として保存したかどうかは問題ですか? - 値を保存/取得する方法を単純に変更できますか、それとも問題を起こさないように一貫性を維持する必要がありますか?現在のユーザーデータ?
これが 32 ビットと 64 ビットの両方の iOS アプリで機能することに特に興味があります。
また、Core Data の値が Integer 32、Integer 16、Integer 64 などの場合、回答に違いはありますか?