将Int保存到核心数据的正确方法?

时间:2016-11-23 23:43:49

标签: swift core-data

我有一个具有Int16属性的实体。

enter image description here

我想保存由以下步进方法设置的var userRepsCount = Int()

@IBAction func userRepsStepper(_ sender: UIStepper) {
    userExerciseRepsCounter.text = Int(sender.value).description
    self.userRepsCount = Int(sender.value)
}

我想将此添加到属性中并使用userExercise.reps = userRepsCount来执行此操作,但是我收到了错误

  

无法指定类型' Int'的值输入' Int16'

我的印象是Int16可以毫无问题地存储这样的内容吗?我在这里错过了什么?

2 个答案:

答案 0 :(得分:2)

尝试用Int(value)包装它,然后当你拉它时,用SQLSTATE[HY000] [1045] Access denied for user '**USERNAME**'@'pool-100-16-152-15.bltmmd.fios.verizon.net' (using password: YES) 包裹它,然后再处理它

答案 1 :(得分:1)

您不能将整数从32位向下转换为低16位而不存在无效值的风险。你只能保持价值。 (IE从16到32或64)。如果您绝对需要,可以使用Int16(value)进行投射。

我建议您在CoreData Integer 32而不是int16中使用。对于您可能正在做的事情,不会在性能/存储方面产生明显/明显的差异。