如何在 Swift 中使用 VisualRecognition 分类器

How can I use VisualRecognition classifiers in Swift

相关:https://github.com/watson-developer-cloud/ios-sdk#visual-recognition,我插入了classifierIDs参数:

import VisualRecognitionV3
let apiKey = "your-apikey-here"
let version = "YYYY-MM-DD" // use today's date for the most recent version
let visualRecognition = VisualRecognition(apiKey: apiKey, version: version)
let url = "your-image-url"
let failure = { (error: NSError) in print(error) }
visualRecognition.classify(url, classifierIDs: "x", failure: failure) { classifiedImages in
    print(classifiedImages)
}

这会导致错误:

Ambiguous reference to member 'classify(_:owner:classifierIDs:showLowConfidence:outputLanguage:failure:success)'

根据我的经验,ambiguous reference 错误通常是由类型不匹配引起的。在这种情况下,SDK 中有两个 classify 函数,一个第一个参数是 String,另一个第一个参数是 NSURLambiguous reference 错误的发生是因为编译器无法使用类型推断来消除两个 classify 函数的歧义并确定您打算执行哪个。

我认为这里的特定问题与 classifierIDs 参数有关。根据documentationclassifierIDs的类型是[String]?,与"x"的类型不匹配。请尝试 ["x"]

即试:

visualRecognition.classify(url, classifierIDs: ["x"], failure: failure) { classifiedImages in
    print(classifiedImages)
}