「欠落」を表すマジックナンバー(0または-1など)を持たNSNumber
ずに、デフォルトなしでオプションにしたいということがあります。すなわち。データベースでは、その値を数値または null にする必要があります。問題なく null で始まりますが、数値を取得したら、どうすればそれを「欠落」にリセットできますか?
私が試してみました:
myAttribute = nil;
myAttribute = [NSNull null];
[self setValue:[NSNull null] forKey:@"myAttribute"];
[self setPrimitiveValue:[NSNull null] forKey:@"myAttribute"];
最初のものはクラッシュしませんが、コア データ属性を nil に設定することは、フェッチされていないことを効果的に示していることを理解しています。したがって、更新されません。残りの 3 つはクラッシュします。
NSNumber
多くの推奨事項は、常に数字を含める必要があることを示唆しているため、これが答えになるとは思っていません。これを乗り越えるために、NSString
. NULL
空の文字列ではなく、コア データをデータベースに保存するにはどうすればよいですか?