如果值是数组,我如何在 Swift 中检查。问题是 Int
类型的数组显然不能转换为 Any
类型的数组。假设我有一个类型为 Int
的数组 myArray
并执行以下命令:
if let array = myArray as? [Any] { return true }
它不会返回 true(这实际上让我感到惊讶)。同样的事情也出现在字典上。我想要一个 String, Any
类型的字典(意味着 Any
可以是任何类型)。我如何检查它是否存在?
提前致谢。
最佳答案
得到它像这样工作,虽然它没有我希望的那么漂亮:
protocol ArrayType {}
extension Array : ArrayType {}
let intArray : Any = [1, 2, 3]
let stringArray : Any = ["hi", "hello", "world"]
intArray is ArrayType // true
stringArray is ArrayType // true
编辑:我想我之前误解了你的问题,但现在我明白了:
let intArray = [1, 2, 3]
let anyArray = intArray.map{ $0 as Any }
这是我所知道的唯一途径。
关于Swift 检查值是否为数组类型(任何类型),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32033993/