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

时间:2016-05-01 19:51:29

标签: ios arrays swift uiimageview

所以我有一个数组:

var allArray: [AnyObject] = []

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

if allArray[0].object = UIImageView - >如果当前是图像,请执行一些代码

if allArray[0].object = Player - >如果当前是播放器,请执行一些代码

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

1 个答案:

答案 0 :(得分:2)

您可以使用类型转换运算符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

相关问题