所以我有一个数组:
var allArray: [AnyObject] = []
该数组包含多个UIImageView
和多个Player' s。
我想要完成的是我想要检测的是:
if allArray[0].object = UIImageView
- >如果当前是图像,请执行一些代码
if allArray[0].object = Player
- >如果当前是播放器,请执行一些代码
我希望你们明白我的问题是什么。我想检测数组中的[0]
是UIImageView
还是Player
答案 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。