Я хотел бы переместить файл во внутреннее приложение из документа / папки «Входящие».Я уже пишу ниже.Но что-то не так.
class FileListViewController: UITableViewController {
class func move(_ atPathName: String, name: String, toPathName: String) -> Bool {
let fileManager = FileManager.default
do {
try fileManager.moveItem(atPath: atPathName, toPath: toPathName)
} catch {
return false
}
return true
}
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let selectedVRMpath = NSHomeDirectory() + "/Documents/Inbox/(indexPath.row)"
let newVRMpath:String? = Bundle.main.path( forResource: "Febboy2", ofType: "vrm" )
let selectedNameinList = newarray[indexPath.row]
FileListViewController.move(selectedVRMpath, name: selectedNameinList, toPathName: newVRMpath)
Сообщение об ошибке:
Значение необязательного типа 'String?'должен быть развернут в значение типа 'String'
.vrm, размер файла составляет около 10 МБ
Наконец, я использую файл в ViewController.Мне нужно переместить файл внутрь проекта из Documents / Inbox.Если я неправильно понимаю это решение, дайте мне совет.Я не мог напрямую использовать файл VRM для выбора URL Documents / Inbox в другом классе.
---
Спасибо за подсказку из ответа. Я изменил код следующим образом.
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let selectedVRMpath = NSHomeDirectory() + "/Documents/Inbox/(indexPath.row)"
guard let newVRMpath:String = Bundle.main.path( forResource: "Febboy2", ofType: "vrm" ) else { return }
let selectedNameinList = newarray[indexPath.row]
print("Selected! \(self.newarray[indexPath.row])")
FileListViewController.move(selectedVRMpath, name: selectedNameinList, toPathName: newVRMpath)
}
Сообщение об ошибке исчезло.Но я знаю, что проблема еще есть.