我正在尝试从UIDeviceFamily
读取infoDictionary
的值,如下所示:
if let family = Bundle.main.infoDictionary?["UIDeviceFamily"] {
if family is Array<Int> {
}
}
根据2010年文档,UIDeviceFamily
可以是NSNumber
或NSNumber
的数组。
由于不存在现有文档,我想在Swift中,它应该是Int
或Array<Int>
。
[运行此代码时,我得到的第二个if
为true
。因此,就我而言,family
是Array<Int>
。
这是我不明白的。如果family
是Array<Int>
,则第二个if
之后的下一行可能是
let firstValue = family.first
但是那会失败。
当它是数组或数字时,如何从family
中提取值?有没有简单的方法可以做到这一点?
if let arr = family as? Array<Int> {
print(arr)
}
else if let item = family as? Int {
print(item)
}