Очистите кеш отсканированных изображений в VNDocumentCameraScan Swift

Я использовал комплект машинного зрения для сканирования документов. Я могу сканировать и сохранять документы, но старые отсканированные изображения отображаются в нижнем левом углу экрана после возвращения на этот экран после увольнения. Как очистить массив сканирования после увольнения?

Код:

let vc = VNDocumentCameraViewController()

override func viewDidLoad() {
     super.viewDidLoad() 
     vc.delegate = self 
}

//Save button action in document VC

    func documentCameraViewController(_ controller: VNDocumentCameraViewController, didFinishWith scan: VNDocumentCameraScan) {
            print("Found \(scan.pageCount)")
            var imgArray: Array<UIImage> = []
            for i in 0 ..< scan.pageCount {
                let image = scan.imageOfPage(at: i)
                imgArray.append(image)
            }
            dismiss(animated: true) {
                self.getFileName(img: imgArray)
            }
        }

Отметил значок отсканированных изображений слева внизу

1 ответ

Решение

Кажется, вы сохраняете ссылку на экземпляр VNDocumentCameraViewController в vcконстанта вашего объекта контроллера представления. И когда вы показываете это во второй раз, тот же экземпляр используется повторно.

Попробуйте создать и представить это так:

func showDocumentCamera() {
   let vc = VNDocumentCameraViewController()
   vc.delegate = self
   present(vc, animated: true)
}
Другие вопросы по тегам