ios - 检查数组的当前索引是什么对象

标签 ios arrays swift uiimageview

所以我有一个数组:

var allArray: [AnyObject] = []

该数组包含多个 UIImageView 和多个 Player的。 我想要完成的是我想要检测的是:

if allArray[0].object = UIImageView -> 如果当前是图像则做一些代码

if allArray[0].object = Player -> 如果当前是玩家则做一些代码

我希望你们明白我的问题是什么。我想检测数组中的 [0]UIImageView 还是 Player

最佳答案

您可以使用类型转换运算符 as检查数组中对象的类型:

if let object = allArray[0] as? UIImageView { ...

if let object = allArray[0] as? Player { ...

for object in allArray {
  if let object = object as? UIImageView {
    ...
  }
  else if let object = object as? Player {
    ...
  }
}

另外,您可能想使用 .first而不是 [0],因为如果数组为空,后者会抛出异常:

if let object = allArray.first as? UIImageView { ...

请参阅documentation有关类型检查类型转换的更多信息。

关于ios - 检查数组的当前索引是什么对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36971203/

相关文章:

c - 使用指针将二维数组传递给 C 中的函数

字符串的 Java indexOf 和 lastIndexOf 的 Swift 等价物

ios - 在 UITextview 中禁用放大镜,但不禁用 URL 链接和电话号码事件

iphone - IOS相当于Android的Paint.breakText()

ios - 在 Objective C 中快速从 NSURL 下载到 NSDATA

java - 为什么我无法从该数组中正确删除项目?

ios - 基于 NSExpression 的核心数据提取不检索当前值(iOS 5、GCD)

java - 创建一个组合数组,检查其中的一个项目

swift - 由于其自身文件的私有(private)保护级别,结构初始值设定项无法访问

Swift 表达式错误(在没有更多上下文的情况下模棱两可)