Никогда не используйте String(describing:)
для чего-либо, кроме отладочного вывода.Ваш код генерирует выходные данные отладки из массива URL
экземпляров.Этот вывод будет выглядеть примерно так:
[file: ///some/directory/someFileA.ext,file: ///some/directory/otherFile.ext]
Конечно, выходной массив будет содержать сколько файлов было выбрано.
Затем вы пытаетесь создать URL файла из этого отладочного вывода массива URL
экземпляров, а затем получить последний компонент пути этого,Вот почему вы получаете конечный ]
.
Просто получите доступ к элементу из массива, который вы хотите.Не создавайте новый URL
.
if let filename = urls.first?.lastPathComponent {
self.pickedFile.append(filename)
}
Еще лучше, добавьте их все:
for url in urls {
self.pickedFile.append(url.lastPathComponent)
}