乘以整数

时间:2014-06-05 05:28:24

标签: swift

我确信我错过了一些非常非常明显的事情,但有人能告诉我为什么我遇到两个Integers倍增的麻烦吗?以下代码:

let twenty: Integer = 20
let ten: Integer = 10
let result: Integer = twenty * ten

显示错误Could not find an overload for '*' that accepts the supplied arguments

有关同一错误的SO的其他问题是由于尝试将不同类型相乘而引起的,但这些都是Integer类型吗?

(PS:我尝试运行的实际代码是var value = self.value * 10,但我在调试时已将其扩展为示例,以确保正确使用正确的类型)

3 个答案:

答案 0 :(得分:5)

使用Int代替。 Integer是一个协议。

答案 1 :(得分:4)

Integer是协议而非类型。请改用Int

答案 2 :(得分:1)

如前所述,Integer是一种不是类型的协议。

在您的情况下,您不需要明确表示类型,因为它是隐式转换。

这可能就够了

 let twenty = 20
 let ten = 10
 let result = twenty * ten

 NSLog("%d", result)
相关问题