Как быстро получить данные из CSV при использовании UIDocumentPickerViewController - PullRequest
0 голосов
/ 15 июня 2019

Я не могу найти способ импортировать данные из файла CSV. Я хочу, чтобы данные загружались в массив.

Я пытался найти это в Google, но ничего, что я нашел, похоже, не работает для моего случая

Это мой UIDocumentPickerViewController.

func documentPicker(_ controller: UIDocumentPickerViewController, didPickDocumentsAt urls: [URL]) {
    let urlst = "\(urls)"

    if urlst.fileExtension() == "csv]" || urlst.fileExtension() == "csv" {
        // Start Import Action From CSV File
    } else {
        let alert = UIAlertController(title: "An Error Occured!", message: "The file you were trying to inport is not supported.  Only csv is support.", preferredStyle: .alert)

        alert.addAction(UIAlertAction(title: "Ok", style: .default , handler: nil))

        alert.addAction(UIAlertAction(title: "Try Again", style: .default , handler: { (UIAlertAction) in
            self.toImport()
        }))

        self.present(alert, animated: true, completion: nil)
    }
}

Мой ожидаемый результат - получить CSV-файл, выбранный пользователем, с помощью UIDocumentPickerViewController, а затем импортировать его в массив или более одного. Но я не могу найти способ заставить эту работу.

1 Ответ

0 голосов
/ 15 июня 2019

Я наконец нашел решение своей проблемы.Вот код:

let path = url.path
        let importer = CSVImporter<exportDataImport>(path: path)
        importer.startImportingRecords { recordValues -> exportDataImport in
            return exportDataImport(name: recordValues[0], pricePer: recordValues[2], amount: recordValues[1], isComplte: recordValues[4], Qty: recordValues[3])
            }.onFinish { importedRecords in

            var tempArray = [exportDataImport]()
            for record in importedRecords {
                tempArray.append(record)
            }

            if tempArray.count > 0 {
                tempArray.removeFirst(1)
                self.importArray = tempArray
                self.startImport()
            }
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...