Переместить файл документа / папки «Входящие» в другое место — Xcode 7, Swift 2

У меня есть файл, который находится в моем Documents/Inbox и отображается в моем журнале Print:

Файл: file:///private/var/mobile/Containers/Data/Application/5388031B-48B5-48D6-8299-B3FEDC1D7F45/Documents/Inbox/Pizza-6.pdf

Я посмотрел здесь и увидел способ удалить файлы, но я хочу переместить их из папки Inbox в другую папку, которую хочу создать. Как бы я это сделал? Я ничего не могу найти для iOS и Swift 2. Спасибо.


person ChallengerGuy    schedule 23.12.2015    source источник
comment
для Xcode 7? Xcode - это IDE. Вы имели в виду для iOS с использованием Swift? В любом случае, я ожидаю, что это будет связано с NSFileManager, поэтому начните с поиска файла перемещения iOS и файла перемещения nsfilemanager. Затем вам нужно будет самостоятельно преобразовать решение из Objective-C в Swift.   -  person trojanfoe    schedule 23.12.2015
comment
Спасибо. Я отредактировал свою информацию. Я новичок в программировании, поэтому мне трудно преобразовать Objective-C в Swift. Я посмотрю что я могу сделать.   -  person ChallengerGuy    schedule 23.12.2015


Ответы (1)


Вот что я в итоге сделал:

    // MOVING AND SAVING INCOMING PDF TO FILE MANAGER FROM INBOX

    let filemgr = NSFileManager.defaultManager()
    let docsDirURL = try! filemgr.URLForDirectory(.DocumentDirectory, inDomain: .UserDomainMask, appropriateForURL: nil, create: true)

    // Create a new folder in the directory named "Recipes"
    print("Creating new folder...")
    let documentsPath = NSURL(fileURLWithPath: NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true)[0])
    let newPath = documentsPath.URLByAppendingPathComponent("Recipes")
    do {
        try NSFileManager.defaultManager().createDirectoryAtPath(newPath.path!, withIntermediateDirectories: true, attributes: nil)
    } catch let error as NSError {
        NSLog("Unable to create directory \(error.debugDescription)")
    }

    // Then check if the Recipes directory exists. If not, create it
    let recipesURL = docsDirURL.URLByAppendingPathComponent("Recipes")
    if !filemgr.fileExistsAtPath(docsDirURL.path!) {
        do {
            try filemgr.createDirectoryAtURL(recipesURL, withIntermediateDirectories: true, attributes: nil)
            print("Directory created at: \(recipesURL)")
        } catch let error as NSError {
            NSLog("Unable to create directory \(error.debugDescription)")
            return
        }
    }

    // Move file from Inbox to Recipes Folder
    let incomingFileName = incomingFileTransfer.lastPathComponent!
    let startingURL = incomingFileTransfer
    let savePDFURL = recipesURL.URLByAppendingPathComponent(incomingFileName)

    if !filemgr.fileExistsAtPath(savePDFURL.path!) {
        do {
            try filemgr.moveItemAtURL(startingURL, toURL: savePDFURL)
        } catch let error as NSError {
            NSLog("Unable to move file \(error.debugDescription)")
        }
    }
person ChallengerGuy    schedule 30.12.2015