gpt4 book ai didi

Swift 检查对象数组的动态类型

转载 作者:搜寻专家 更新时间:2023-10-31 22:16:25 24 4
gpt4 key购买 nike

我有一个对象数组 array: [AnyObject] 并且想根据类数组检查它们的动态类型我该怎么做?

let array: [AnyObject] = ["hi", true, 12]

上面的数组就是一个例子。我希望它与为数组传递的任何类型一起使用。我希望有另一个类型数组来检查。但我不知道如何声明它们。

最佳答案

您可以保留 Any 实例并使用 == 运算符比较 Any.Type 类型。基于@lassej 答案中的代码的示例:

let array: [Any] = [UIView(), "hellow", 12, true]
let types: [(Any.Type, String)] = [
(UIView.self, "UIView"),
(String.self, "String"),
(Int.self, "Integer")
]

anyLoop: for any in array {
for (type, name) in types {
if any.dynamicType == type {
print( "type: \(name)")
continue anyLoop
}
}
print( "unknown type: \(any.dynamicType)")
}

// Prints:
// type: UIView
// type: String
// type: Integer
// unknown type: Bool

关于Swift 检查对象数组的动态类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27742037/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com