{(Int)}与UInt8不同

时间:2014-08-06 14:15:19

标签: swift int xcode6 uint

目前使用的是beta版的swift,而且必须对+=运算符进行更改

func dealCards1() -> [Int] {
    for i in 0...25{
        comp1PlayDeck += shuffledDeck[i]
    }
    return comp1PlayDeck
}

这会引发'[(Int)]' is not identical to 'UInt8'我不太确定所做的改变但是这很令人困惑。

2 个答案:

答案 0 :(得分:9)

我怀疑错误是+=运算符中的更改,它现在只将Array组合在一起,而不是Array的值。

shuffledDeck[i]不会返回Array。创建一个它的价值数组就是一种解决方法 示例:

comp1PlayDeck += [shuffledDeck[i]]
comp1PlayDeck.append(shuffledDeck[i])

从Beta5发布文件:
“•数组上的+ =运算符只连接数组,它不附加元素。这解决了使用Any,AnyObject和相关类型的歧义。(17151420)!”

答案 1 :(得分:0)

通过在这个

之类的数组名称周围添加[]来解决这个问题
[shuffledDeck[i]] 

我仍然可以使用+ =运算符