2016-07-12 6 views
1

In Swift verwende ich die Microsoft Cognitive Services Gesicht API-Funktion detectWithData und versuchen, returnFaceAttributes zu verwenden, die für ruft. Ich brauche Hilfe bei der Eingabe in das Array.API - Microsoft Cognitive Services Gesicht, wie Attribute zurückgegeben werden

Nach this link ging ich davon aus ["age", "gender"] funktionieren würde, aber ich erhalte eine Fehlermeldung,:

unrecognized selector sent to instance 0x7f9b96043df0

Und mit [MPOFaceAttributeTypeAge, MPOFaceAttributeTypeGender] gibt einen Fehler:

Value of type 'MPOFaceAttributeTypeAge' does not conform to expected element type 'AnyObject'

Aus irgendeinem Grund die Eingabe von "true" in der Matrix gib mir das Altersattribut, aber alle anderen Attribute zeigen als Null an.

Ich kann keine Beispiele finden, die Swift online verwenden. Jeder Rat oder jede Richtung in die richtige Richtung würde geschätzt werden.

@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)") 

       } 
      }) 
     } 
    } 
} 

screenshot of error

+0

Bitte fügen Sie Ihren Code als Text, nicht Bild –

+0

danke, editierte Frage – Chris

Antwort

1

umfassen eine Anordnung von Int für [AnyObject]!. Zum Beispiel: [1,4] gibt Alter und lächelt zurück.