Swift数组声明/类型注释

时间:2016-12-13 13:45:20

标签: ios arrays swift

我有一些代码可以确定将哪个数组传递给另一个变量

var x:[Float]
x = someArrayOfFloats
y = x

但是目前这会出现错误

Cannot assign value of type '[Float]' to type '(Float, Float, Float, Float, Float, Float, Float, Float, Float, Float, Float, Float, Float, Float, Float, Float, Float, Float, Float, Float, Float, Float, Float, Float, Float, Float, Float, Float, Float, Float)'

对于所选数组的长度重复浮点数(我假设)。

我也试过像这样声明x

var x
然而,这提出了

Type annotation missing in pattern

将出现在y中的数组具有可变长度:我如何正确声明x以便编译?我必须给它所有数组的最大长度吗?谢谢你的帮助。

2 个答案:

答案 0 :(得分:1)

我认为问题在于你的y变量。您必须以这种方式声明y

var y = (1, 3, 4, 5, 5)

我想在此指出的是,您使用()来表示数组文字,这是错误的。 ()用于元组文字。您应该使用[]代替:

var y = [1, 3, 4, 5, 5]

答案 1 :(得分:0)

看起来您正在尝试将具有浮点值的数组分配给[Float]类型。如果要将Float值分配给Float数组,则必须以不同的方式声明x变量。

试试这个

var x : Array = [Float()]
x = someArrayOfFloats
y = x

实施例

var pi : Float = 22/7
var x : Array = [Float()]
x = [pi, pi]
print(x)

输出

[3.14285707, 3.14285707]