如何检查数组的元素类型

时间:2017-11-01 08:35:50

标签: swift swift3

我有一个这样的数组:

let arr:[Any] = [1, "wo", true]

如何迭代每个元素并检查每个元素的类型?

for elem : arr {
  // how to check elem type?
}

1 个答案:

答案 0 :(得分:2)

您可以使用type(of:)打印元素类型:

let arr:[Any] = [1, "wo", true]
arr.forEach { (element) in
    print(String(describing: type(of: element)))
}

<强>输出
诠释
字符串
布尔

或者您可以将开关案例与“是”

一起使用
arr.forEach { (element) in
    switch element {
    case is Int:
        print("its a Int")
    case is String:
        print("its a String")
    case is Bool:
        print("its a Bool")
    default:
        print("unspecified")
    }
}

输出
它是一个对象 它是一个字符串
它是一个Bool