Я разрабатываю Swift 4.0.1 с использованием Xcode 9.1 и пытаюсь контролировать тип данных, отображаемых в консоли отладки, когда запускаю Visual Recognition в своем приложении. Итак, я попытался очистить этот проект, перезапустить Xcode, скопировать и вставить код из загруженного проекта и проверить наличие орфографических ошибок. Я пробовал почти все. Вопросы Stackoverflow о похожих случаях не помогают, потому что это все разные сценарии и более старые быстрые (3 и 2). Я пытался добавить «_» следующим образом: classificationResults.append(classes[index]._classification)
как один человек сказал, что это сработало для них, и он все еще показывает ошибку «Значение типа« ClassResult »не имеет члена« классификации ».
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
if let image = info[UIImagePickerControllerOriginalImage] as? UIImage {
imageView.image = image
imagePicker.dismiss(animated: true, completion: nil)
let visualRecognition = VisualRecognition(apiKey: apiKey, version: version)
let imageData = UIImageJPEGRepresentation(image, 0.01)
let documentsURL = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!
let fileURL = documentsURL.appendingPathComponent("tempImage.jpg")
try? imageData?.write(to: fileURL, options: [])
visualRecognition.classify(imagesFile: fileURL, success: { (classifiedImages) in
let classes = classifiedImages.images.first!.classifiers.first!.classes
self.classificationResults = []
for index in 0..<classes.count {
classificationResults.append(classes[index].classification)
}
print(classifiedImages)
DispatchQueue.main.async {
self.cameraButton.isEnabled = true
SVProgressHUD.dismiss()
self.shareButton.isHidden = false
}
if self.classificationResults.contains("hotdog") {
DispatchQueue.main.async {
self.navigationItem.title = "Hotdog!"
self.navigationController?.navigationBar.barTintColor = UIColor.green
self.navigationController?.navigationBar.isTranslucent = false
self.topBarImageView.image = UIImage(named:"hotdog")
}
}
else {
DispatchQueue.main.async {
self.navigationItem.title = "Not Hotdog!"
self.navigationController?.navigationBar.barTintColor = UIColor.red
self.navigationController?.navigationBar.isTranslucent = false
self.topBarImageView.image = UIImage(named:"not-hotdog")
}
}
})
} else {
print("There was an error picking the image")
}[][1]
classificationResults
имеет типClassResult
, поэтому было бы полезно, если бы вы включили этот код в свой вопрос. - person Jim   schedule 25.03.2018