'的NSNumber'不可转换为' Int'迅速

时间:2014-10-24 16:46:57

标签: int nsnumber

我正在尝试数学来设置形状节点的位置。它看起来像这样(Swift): var score: NSNumber? score = score! + 1

xcode 6 beta 5运行完美,但xocde 6.1没有运行,报告'NSnumer'无法转换为'Int'

1 个答案:

答案 0 :(得分:5)

我意识到这是一个较老的问题,你可能已经想到了这一点,但我最近也有类似的问题,我想我会给后人发一个答案。

Swift(据我所知)仍然作为一种编程语言进行设计更改,我注意到的一件事是我需要开始在Int()函数中包装我的int。所以你的例子可能需要看起来像这样:

var score: NSNumber?
score = NSNumber(integer:score!) + 1

修改:

为了尝试解释我们为什么需要这样做,我相信,因为scoreNSNumber(),它可以有各种数字形式。 NSNumber(integer:score!)具体地将score!重新包装为整数,允许我们在数学方程式中使用整数。