我有一个由AnyObject个组成的array.我想迭代它,找到所有数组实例的元素.

如何在Swift中判断对象是否属于给定类型?

推荐答案

如果要对照特定类型进行判断,可以执行以下操作:

if let stringArray = obj as? [String] {
    // obj is a string array. Do something with stringArray
}
else {
    // obj is not a string array
}

你可以用"as!"如果obj不是[String]类型,那么这将引发运行时错误

let stringArray = obj as! [String]

您还可以一次判断一个元素:

let items : [Any] = ["Hello", "World"]
for obj in items {
   if let str = obj as? String {
      // obj is a String. Do something with str
   }
   else {
      // obj is not a String
   }
}

Swift相关问答推荐

减go 用SWIFT struct 填充的NSCountedSet

如何在SWIFT中轻松格式化公制和英制使用的UnitVolume

如何在AudioKit中实现自定义音效 node ?

如何才能在同一线程上调用类中的每个方法,而不对每个调用使用同步块?

Swift通过设置变量B自动设置变量A的值

Xcode创建GitHub仓库,但未推送所有文件

为什么这段Swift读写锁代码会导致死锁?

如何在SwiftUI中更改NSTextView中的 Select colored颜色 ?

UIBezierPath() 和 DragGesture:连接点创建角而不是曲线

Swift String.firstIndex(of: "\n") 返回 nil,即使字符串有 \n

我如何遵守与演员的协议?

Swift 非参与者隔离闭包

在视图中设置所有变量

Xcode 13.3 将函数调用更改为属性访问

swift 如何从 Int 转换?到字符串

根据禁用与否更改 SwiftUI 中按钮的 colored颜色

Swift :如何在一组字符之后得到所有东西

更改在变量的 willSet 块中设置的值

使用 swift 更新到 Xcode 6 beta 4 后获取 dyld_fatal_error

将 CGImageRef 保存为 png 文件?