2010-12-21 15 views
2

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

この属性は、データ型整数32として指定され、 "最小値"が "-12"です。私はこれが負の整数を文字列として格納することと関係があると推測しています。このコードは、同じ "4294967295"を生成します。

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

コアデータに負の整数を格納する適切な方法は何ですか?

答えて

5

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

関連する問題