分を設定した場合。プロパティの値は、「X」が 1 に等しいとします。一部のシナリオでは、値が 0 になり、モデルはどのように動作しますか? エラー/警告をスローしますか? 私のシナリオは、ラベルにメッセージの数を表示したいのですが、メッセージがない場合、ゼロが表示されます。コードの代わりに、(可能であれば) xcmodel のみを試してみたいと思います。そのプロパティの値の場合、ラベルは非表示にする必要があります。ゼロの場合は非表示にしますが、初めて実行する場合は非表示にしますが、ビューコントローラーのいくつかの遷移的な動きにより、そのカウントラベルが更新され、ゼロが表示されます。
3 に答える
0
Core Data では、データのモデリング中に設定した境界から値が外れた場合、コンテキストを保存できません。
エンティティ名はSomeEntity
です。count
に設定されている(Integer 16
タイプの)属性がありますMinimum = 0
。
新しいオブジェクトの場所を切り取ったものを次に示します。
SomeEntity *object = [NSEntityDescription insertNewObjectForEntityForName:NSStringFromClass([SomeEntity class])
inManagedObjectContext:context];
object.count = @(-1);
NSError *error;
BOOL success = [context save:&error];
// success == NO here
if (!success) {
NSLog(@"ERROR saving data: %@", error.localizedDescription);
}
error
オブジェクトのデバッグの説明は次のとおりです。
Printing description of error:
Error Domain=NSCocoaErrorDomain Code=1620 "The operation couldn’t be completed. (Cocoa error 1620.)" UserInfo={NSValidationErrorObject=<SomeEntity: 0x7876eed0> (entity: SomeEntity; id: 0x7876d970 <x-coredata:///SomeEntity/tEAD37BAD-81E7-47AE-A182-E35D9BCC69DB2> ; data: {
count = "-1";
someUUID = "CD69E59E-B8AD-4615-8257-1F1BD6632B3E";
}), NSValidationErrorKey=count, NSLocalizedDescription=The operation couldn’t be completed. (Cocoa error 1620.), NSValidationErrorValue=-1}
于 2016-03-28T10:07:57.463 に答える