在swift中,我正在使用Microsoft Cognitive Services Face API函数detectWithData
并尝试使用returnFaceAttributes
来调用[AnyObject]!
。我需要有关输入数组的帮助。
根据this link,我认为["age", "gender"]
可行,但我收到错误消息:
无法识别的选择器发送到实例0x7f9b96043df0
使用[MPOFaceAttributeTypeAge, MPOFaceAttributeTypeGender]
会出错:
'MPOFaceAttributeTypeAge'类型的值不符合预期的元素类型'AnyObject'
由于某种原因,在数组中键入“true”会给我age属性,但所有其他属性都显示为nil。
我找不到任何使用swift在线的例子。任何建议或指出我正确的方向将不胜感激。
@IBAction func battleBtn(sender: UIButton){
if !hasChoosenTop || !hasChoosenBottom{
showErrorAlert()
} else{
if let firstImg = topImg.image, let firstImgData = UIImageJPEGRepresentation(firstImg, 0.8), let secondImg = bottomImg.image, let secondImgData = UIImageJPEGRepresentation(secondImg, 0.8){
FaceService.instance.client.detectWithData(firstImgData, returnFaceId: true, returnFaceLandmarks: false, returnFaceAttributes: [MPOFaceAttributeTypeAge, MPOFaceAttributeTypeGender], completionBlock: { (face: [MPOFace]!, err: NSError!) in
if err == nil {
var topFace: String?
topFace = face[0].faceId
var top = face[0].attributes.age
print("my faceId: \(topFace)")
print("my faceId: \(top)")
}
})
}
}
}
答案 0 :(得分:1)
为[AnyObject]!
包含一个Int数组。例如:[1,4]
会返回年龄并微笑。