iOS / Swift 4: Как скопировать папку, содержащую несколько папок с файлами, не удаляя файлы и папки существующего назначения? - PullRequest
0 голосов
/ 13 марта 2019

Я хотел бы скопировать папку, содержащую несколько папок, и эти папки содержат несколько файлов.Если эти папки существуют, я хотел бы сохранить их внутри и перезаписать файлы, если они есть.Если файлы не существуют, они просто добавляются естественным образом.

_ = try FileManager.default.replaceItemAt(previousItemUrl, withItemAt: currentItemUrl)

Например:

Файлы, существующие на устройстве:

APP/XXX/a.txt
APP/XXX/b.txt
APP/XXX/c.txt
APP/YYY/d.txt
APP/ZZZ/e.txt
APP/ZZZ/f.txt

Файлы для копирования:

APP/XXX/c.txt //Will override
APP/YYY/g.txt //new file added
APP/ZZZ/h.txt //new file added
APP/AAA       //new folder added

Нужно ли создавать свою рекурсивную функцию или эта функция уже существует изначально?

Заранее спасибо.

1 Ответ

0 голосов
/ 13 марта 2019

Мы можем использовать ниже родной метод.Он копирует источник в место назначения.

func copyItem(atPath srcPath: String, 
   toPath dstPath: String) throws

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

optional func fileManager(_ fileManager: FileManager, 
         shouldCopyItemAt srcURL: URL, 
                       to dstURL: URL) -> Bool

Вы можете найти все эти детали в Apple документ

...