0

分を設定した場合。プロパティの値は、「X」が 1 に等しいとします。一部のシナリオでは、値が 0 になり、モデルはどのように動作しますか? エラー/警告をスローしますか? 私のシナリオは、ラベルにメッセージの数を表示したいのですが、メッセージがない場合、ゼロが表示されます。コードの代わりに、(可能であれば) xcmod​​el のみを試してみたいと思います。そのプロパティの値の場合、ラベルは非表示にする必要があります。ゼロの場合は非表示にしますが、初めて実行する場合は非表示にしますが、ビューコントローラーのいくつかの遷移的な動きにより、そのカウントラベルが更新され、ゼロが表示されます。

4

3 に答える 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 に答える