iOS中xcdatamodel属性的最小值意味着什么?

iOS中xcdatamodel属性的最小值意味着什么?,ios,objective-c,count,xcdatamodel,Ios,Objective C,Count,Xcdatamodel,如果设置属性的最小值,则表示“X”等于1。与某些场景相比,该值变为0,模型将如何运行?抛出错误/警告?我的场景是,我想显示标签中的消息数,但当没有消息时,视图中会出现零。而不是代码,我只想尝试通过xcmodel(如果可能的话),也就是说,如果计数小于该属性的最小值,那么标签应该隐藏。它确实会隐藏首次运行时是否为零,但视图控制器的某些过渡运动会导致更新计数标签,从而导致显示零 我做了一个游戏,用它来记分: var Score: Int = 0 { didSet { Scor

如果设置属性的最小值,则表示“X”等于1。与某些场景相比,该值变为0,模型将如何运行?抛出错误/警告?我的场景是,我想显示标签中的消息数,但当没有消息时,视图中会出现零。而不是代码,我只想尝试通过xcmodel(如果可能的话),也就是说,如果计数小于该属性的最小值,那么标签应该隐藏。它确实会隐藏首次运行时是否为零,但视图控制器的某些过渡运动会导致更新计数标签,从而导致显示零

我做了一个游戏,用它来记分:

var Score: Int = 0 {
    didSet {
        ScoreLabel.text = "Score: \(Score)"
    }
}
您可以在其中放置if语句以隐藏标签:

Label.text = Score
If score < min {
Label.hidden = true
}else{
Label.hidden = false
}
Label.text=分数
如果分数
如果值超出数据建模时设置的边界,核心数据将不允许保存上下文

实体名称为
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);
            }
以下是
错误
对象调试说明:

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}
打印错误说明:
Error Domain=NSCOCAERRORDOMAIN Code=1620“操作无法完成。(可可错误1620)。”UserInfo={NSValidationErrorObject=(实体:SomeEntity;id:0x7876d970;数据:{
count=“-1”;
someUUID=“CD69E59E-B8AD-4615-8257-1F1BD6632B3E”;
}),NSValidationErrorKey=count,NSLocalizedDescription=操作无法完成。(Cocoa错误1620.),NSValidationErrorValue=-1}
来自:

验证约束仅在保存期间由核心数据应用 操作或根据请求(您可以调用验证方法 在任何时候都可以直接使用,这对您的应用程序流都是有意义的)

因此,可以将
NSManagedObject
的属性设置为小于指定最小值的值,但在
NSManagedObjectContext
保存期间,它会对
NSError
进行大小写

至于您的具体场景,如果不仔细查看数据模型和代码,就很难给出建议。我可能会建议您调试视图控制器转换和视图更新(因为您说某些特定的转换序列会导致视图行为不正确)