将文档/收件箱文件移动到另一个位置 - Xcode 7、Swift 2

Posted

技术标签:

【中文标题】将文档/收件箱文件移动到另一个位置 - Xcode 7、Swift 2【英文标题】:Move Document/Inbox file to another location - Xcode 7, Swift 2 【发布时间】:2015-12-23 15:23:05 【问题描述】:

我的Documents/Inbox 中有一个文件,并显示在我的Print 日志中:

文件: file:///private/var/mobile/Containers/Data/Application/5388031B-48B5-48D6-8299-B3FEDC1D7F45/Documents/Inbox/Pizza-6.pdf

我查看了here 并看到了一种删除文件的方法,但我想将它们从Inbox 文件夹移到另一个我想创建的文件夹中。我该怎么做?我找不到适用于 ios 和 Swift 2 的任何内容。谢谢。

【问题讨论】:

“对于 Xcode 7”? Xcode 是一个 IDE。你的意思是使用 Swift 的 iOS 吗?无论如何,我希望它会涉及NSFileManager,所以从搜索“iOS 移动文件”和“nsfilemanager 移动文件”开始。然后,您需要自己将解决方案从 Objective-C 转换为 Swift。 谢谢。我编辑了我的信息。我是编程新手,所以尝试将 Objective-C 转换为 Swift 对我来说很难。我会看看我能做什么。 【参考方案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)")
        
    

【讨论】:

以上是关于将文档/收件箱文件移动到另一个位置 - Xcode 7、Swift 2的主要内容,如果未能解决你的问题,请参考以下文章

将所有文件从文档/收件箱移动到 iOS 应用程序中的文档

Dell Boomi - 如何将电子邮件从收件箱移动到收件箱子文件夹?

如何使用 phonegap 将文件从一个位置移动/复制到另一个位置

如何移动文件到另一个文件夹

如何在 Java 中将文件从一个位置移动到另一个位置?

Xcode:如何将对象从一个 viewControllers 视图移动到另一个 viewControllers 视图?