Копировать содержимое из одной папки в другую

Я пытаюсь скопировать или переместить JPG из одной папки в другую, используя приведенный ниже код.

func moveItems(originPath: String, destinationPath: String, successBlock:@escaping () -> Void, errorBlock:@escaping (_ error: Error) -> Void) {
    do {
        try FileManager.default.copyItem(atPath: originPath, toPath: destinationPath)
        successBlock()
    } catch {
        print(error.localizedDescription)
        errorBlock(NSError())
    }
}

Но я всегда получаю следующую ошибку:

открыть в /var/mobile/Containers/Data/Application/E138FDE0-A036-48D9-8E7C-518B6A5E452C/Documents/tailsImages/: существует файл «3A75A51A-0946-45AF-BF1D-F4EB4D71ED68.png» не может быть скопирован в « Документы», потому что элемент с таким именем уже существует.

Есть две проблемы, которые я не понимаю. Во-первых, папка назначения не является «Документами», на которую ссылается ошибка, а во-вторых, JPG существует только в папке «Путь назначения».

(lldb) po originPath "/var/mobile/Containers/Data/Application/E138FDE0-A036-48D9-8E7C-518B6A5E452C/Documents/tailsImagesSync/3A75A51A-0946-45AF-BF1D-F4EB4D71ED68.png"

(lldb) po destinationPath "/var/mobile/Containers/Data/Application/E138FDE0-A036-48D9-8E7C-518B6A5E452C/Documents/tailsImages/"


person bruno    schedule 08.05.2018    source источник
comment
вы должны добавить имя файла в путь назначения.   -  person iVarun    schedule 08.05.2018
comment
Убедитесь, что вы добавляете свое имя файла в дестинациюPath, и убедитесь, что дестинацияPath отличается от originPath, для двойной проверки вы можете использовать fileManager.fileExists, чтобы проверить отсутствие двойного действия.   -  person A.Munzer    schedule 08.05.2018
comment
Спасибо, это сработало. Опубликовать ответ @ivarun   -  person bruno    schedule 08.05.2018
comment
@bruno Отлично :) Добавление в качестве ответа, пожалуйста, примите и проголосуйте, это поможет другим найти ответ.   -  person iVarun    schedule 08.05.2018


Ответы (1)


Вы должны добавить имя файла в destinationPath. Это сработает для вас.

person iVarun    schedule 08.05.2018