将数组与不同的数组类型进行比较

时间:2015-06-03 19:53:56

标签: xcode swift

我想比较两个数组是否相等,这是我的代码:

  var letteronloc = [String]();
      letteronloc.append("test")
  let characters = Array("test")


   if(letteronloc == characters) {

    }

但我有一个错误:找不到接受提供的参数的<=的重载

我认为这是因为数组不相等,因为第二个数组不是字符串数组。但我该如何解决这个问题呢?

2 个答案:

答案 0 :(得分:5)

let characters = Array("test")将字符串视为序列 (字符)并通过枚举序列的元素来创建数组。 因此characters是一个包含四个Character的数组, 与你得到的相同

let characters : [Character] = ["t", "e", "s", "t"]

所以你有两个不同元素类型的数组,这就是原因 你无法将它们与==进行比较。

如果您想要一个包含单个字符串“test”的数组,请将其写为

let characters = ["test"]

你可以毫无问题地比较两个数组。

答案 1 :(得分:1)

您只需指定第二个数组的类型:

var letteronloc = [String]();
letteronloc.append("test")
let characters: [String] = Array(arrayLiteral: "test")

if (letteronloc == characters) {

}