Core data CoreData NSNumber至Int32

Core data CoreData NSNumber至Int32,core-data,swift2,int32,Core Data,Swift2,Int32,我读过好几篇文章,我理解“为什么”。这些帖子中的建议对我来说都不起作用,但一步一个脚印地转换就行了。这对我来说就像是一个黑客,好像我错过了什么 我在这里包含了最后一段代码 我的设想: 步骤1:将CoreData对象存储为原语Int32(代码中未显示) 步骤2:获取NSNumber对象(仅显示所需的代码) 步骤3:将NSNumber设置为Int 步骤4:将Int转换为Int32 var finalQTY:Int32 //Step 2 if let retQTY = managedObject.v

我读过好几篇文章,我理解“为什么”。这些帖子中的建议对我来说都不起作用,但一步一个脚印地转换就行了。这对我来说就像是一个黑客,好像我错过了什么

我在这里包含了最后一段代码

我的设想:

  • 步骤1:将CoreData对象存储为原语Int32(代码中未显示)
  • 步骤2:获取NSNumber对象(仅显示所需的代码)
  • 步骤3:将NSNumber设置为Int
  • 步骤4:将Int转换为Int32

    var finalQTY:Int32
    
    //Step 2
    if let retQTY = managedObject.valueForKey("totQty") as? NSNumber { 
    //Step 3       
    let preQTY = retQTY as Int
    //Step 4
    finalQTY = Int32(preQTY)
            }
    
  • 有更好的办法吗?我觉得我错过了什么?
    (由于所涉及的数字的大小,使用Int不是一个选项。我在这里使用了QTY,但这只是一个示例)。在我继续学习Swift的过程中,非常感谢您的反馈和回复。

    除了从NSNumber到Int 32的两步过程之外,似乎没有更干净的方法来实现这一点


    感谢所有打电话给我的人

    为什么来自的“对原始数据类型使用标量属性”建议对您不起作用?如果我将数据类型更改为Int,它会起作用。但由于变量的大小,我需要Int32,并且NSNumber和Int32之间没有桥接,因此失败,我收到错误消息。谢谢你看我的问题。我的解决方案奏效了,只是感觉很好。将此标记为已解决,然后继续。:-)