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



我认为数组返回 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])
}

我知道这个附加是等待字符,所以我会系统转换任何字符

方法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,则可以从[Character]创建String,然后使用+=追加:

替换此内容:

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

有了这个:

myWord.contenumodifié += String(tabCharcatersMixed)

我找到了一个解决方案:

for i in 0..<(tabCharcatersMixed.count ) {
    let thechar = tabCharcatersMixed[i] as! Character
    myWord.contenumodifié.append(thechar)

相关内容

最新更新