Я пытаюсь загрузить файлы в AWS S3
.Файлы, которые я выбираю из iCloud
и добавляю в array
для перечисления в tableView
и одновременного вызова функции AWS S3 upload
.
Здесь, как только файл успешно загружен, мне нужно сделать некоторую идентификацию внутри array
потому что всякий раз, когда я пытаюсь загрузить следующие file
, мой массив снова выдвигает уже stored
файлов.Итак, процесс загрузки дает duplication
результатов.Как избежать этой проблемы?
Мое затруднение, если я удаляю загруженный файл url
из массива, тогда я не могу перечислить в tableView
, но если я не удалил, то это будет re-uploading
всякий раз, когда я пытаюсь загрузить новый файл.
// Array declaration
var items = [Item]()
var fileArray = [Item]()
// Values appending into my array
items.append(Item(indexPath: indexPath, file: item.url))
// TableView data-load
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! CustomTableViewCell
let item = fileArray[indexPath.row]
if fileArray.count > 0 {
cell.url_label.text = item.url
// Upload function call
DispatchQueue.main.asyncAfter(deadline: .now() + 1.0, execute: {
self.uploadData(indexPath: indexPath, file: item.url)
})
}
return cell
}
// Upload function with parameters
private func uploadData(indexPath: indexPath, file: item.url) {
// Tracking each cell and it's file.
// Once, file uploaded I am doing some changes in tableview cell
}