如何在 Swift 中使用 VisualRecognition 分类器
Posted
技术标签:
【中文标题】如何在 Swift 中使用 VisualRecognition 分类器【英文标题】:How can I use VisualRecognition classifiers in Swift 【发布时间】:2016-09-07 19:27:47 【问题描述】:相关: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)'
【问题讨论】:
【参考方案1】:根据我的经验,ambiguous reference
错误通常是由类型不匹配引起的。在这种情况下,SDK 中有两个classify
函数,一个是第一个参数是String
,另一个是第一个参数是NSURL
。出现ambiguous reference
错误是因为编译器无法使用类型推断来消除两个classify
函数的歧义并确定您打算执行哪个函数。
我相信这里的特定问题与classifierIDs
参数有关。根据documentation,classifierIDs
的类型为[String]?
,与"x"
的类型不匹配。请改用["x"]
。
也就是说,试试:
visualRecognition.classify(url, classifierIDs: ["x"], failure: failure) classifiedImages in
print(classifiedImages)
【讨论】:
以上是关于如何在 Swift 中使用 VisualRecognition 分类器的主要内容,如果未能解决你的问题,请参考以下文章
如何在 kotlin native 中使用 swift 库?
如何在 Swift 中使用 Apple 地图 - 你必须使用 C 还是 Swift 可以?