iOS中xcdatamodel属性的最小值是啥意思?
Posted
技术标签:
【中文标题】iOS中xcdatamodel属性的最小值是啥意思?【英文标题】:What does minimum value of a property of xcdatamodel in iOS means?iOS中xcdatamodel属性的最小值是什么意思? 【发布时间】:2016-03-28 09:19:50 【问题描述】:如果设置最小值。属性值说“X”等于 1。在某些情况下,该值变为 0,模型将如何表现?抛出错误/警告?我的场景是我想在标签中显示消息的数量,但是当没有消息时,就会出现零。而不是代码,我只想尝试通过 xcmodel (如果可能的话),即如果计数小于 min。该属性的值然后标签应该隐藏。如果第一次运行为零,它确实会隐藏,但是视图控制器的一些过渡运动会导致更新计数标签导致零显示。
【问题讨论】:
【参考方案1】:我做了一个游戏,用它来记分:
var Score: Int = 0
didSet
ScoreLabel.text = "Score: \(Score)"
你可以在其中添加一个 if 语句来隐藏标签:
Label.text = Score
If score < min
Label.hidden = true
else
Label.hidden = false
【讨论】:
【参考方案2】:来自Core Data Programming Guide:
Core Data 仅在保存期间应用验证约束 操作或根据要求(您可以调用验证方法 直接在任何时候对您的应用程序流程有意义)
因此可以将NSManagedObject
的属性设置为小于指定最小值的值,但在NSManagedObjectContext
保存期间会出现NSError
。
至于您的具体情况,如果不查看您的数据模型和代码,很难给您建议。我可能会建议您调试视图控制器转换和视图更新(因为您说某些特定的转换顺序会导致视图行为不正确)。
【讨论】:
【参考方案3】:如果值超出您在数据建模时设置的边界,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
【讨论】:
以上是关于iOS中xcdatamodel属性的最小值是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章
离散数学里图论一章中的树的权值是啥意思?而且在求最小生成树中不知道怎么算权,超级不解中.望解答!谢谢