2

管理対象オブジェクト モデル インスタンスの属性に正の整数を適切に割り当てて取得できます。ただし、この属性に負の整数を割り当てると、数値「4294967295」がコア データ永続ストア (xml ファイル) に記録されます。したがって、アプリケーションが再ロードされ、管理対象オブジェクトが再インスタンス化されると、属性は「4294967295」になります。

この属性は、DataModel で Integer 32 型として指定されており、「最小値」は「-12」です。これは、負の整数を文字列として保存することに関係していると思います。このコードは、同じ「4294967295」を生成します。

NSLog(@"Log -1: %u", -1);
=> "Log -1: 4294967295"

Core Data に負の整数を格納する適切な方法は何ですか?

4

1 に答える 1

5

Core Data の問題ではなく、フォーマット指定子の問題です。%uは、引数を符号なし整数としてフォーマットする必要があることを意味します。これは負にすることはできません。%d代わりにorを使用%iします (これらは符号付き整数を意味します)。

于 2010-12-21T01:05:19.997 に答える