我开发了以下代码并且工作正常:
if metadataObj.type == AVMetadataObjectTypeQRCode {
//the code...
}
现在,我希望metadataObj.type
等于以下字符串数组:
let barCodeTypes = [AVMetadataObjectTypeQRCode,
AVMetadataObjectTypeAztecCode
]
if metadataObj.type == barcodeTypes {
//The code...
}
使用新代码时出现以下错误:
二元运算符'=='不能应用于'String!'类型的操作数和'[String]'
有什么建议吗?提前致谢
答案 0 :(得分:2)
您无法比较字符串和字符串数组,但可以使用contains
:
if barcodeTypes.contains(metadataObj.type)
答案 1 :(得分:-1)
您似乎正在尝试检查barCodeTypes
数组中的任何字符串是否与metadataObj.type
匹配。你想要一个for循环。
for barCode in barCodeTypes {
if metadataObj.type == barCode {
//the code...
}
}
这会迭代barCodeTypes
中的每一项,并检查它们是否相等。