消息错误:无法使用类型[any]的参数列表调用append

时间:2017-01-14 13:01:45

标签: ios swift xcode

我认为数组返回Any类型的数据但是在我无法转换为字符类型

之后
let  tabCharacters  = Array(myWord.motModifié.characters)
// shuffle the array tabcharacter
let tabCharcatersMixed  = GKRandomSource.sharedRandom().arrayByShufflingObjects(in: tabCharacters)
// i try to rebuild the word
myWord.contenumodifié = ""
// first letter
myWord.contenumodifié.append(myWord.debutMot)


//following letters but it 's not ok, error occurs at this level
for i in 0..<(tabCharcatersMixed.count - 1) {
    myWord.contenumodifié.append(tabCharcatersMixed[i])
}

我知道这个追加是等待的角色,所以我会用一个系统转换任何角色

2 个答案:

答案 0 :(得分:0)

方法arrayByShufflingObjects(in:)返回[Any]。您需要将其转换为您作为in:传递的数组的类型。在您的情况下,它是[Character]

let tabCharcatersMixed  = GKRandomSource.sharedRandom().arrayByShufflingObjects(in: tabCharacters) as! [Character]

接下来,您尝试将这些字符附加到myWord.contenumodifié

如果myWord.contenumodifié[Character],那么您可以使用+=附加整个数组:

替换这个:

for i in 0..<(tabCharcatersMixed.count - 1) {
    myWord.contenumodifié.append(tabCharcatersMixed[i])
}

用这个:

myWord.contenumodifié += tabCharcatersMixed

如果myWord.contenumodifiéString,您可以从String创建[Character],然后使用+=追加:

替换这个:

for i in 0..<(tabCharcatersMixed.count - 1) {
    myWord.contenumodifié.append(tabCharcatersMixed[i])
}

用这个:

myWord.contenumodifié += String(tabCharcatersMixed)

答案 1 :(得分:0)

我找到了解决方案:

for i in 0..<(tabCharcatersMixed.count ) {

    let thechar = tabCharcatersMixed[i] as! Character
    myWord.contenumodifié.append(thechar)