从组文件夹中获取所有文件?

时间:2018-01-26 03:04:40

标签: ios swift xcode

经过长时间的努力,我无法做最简单明了的事情,阅读我在我的应用中创建的特定文件夹(群组)中的所有文件/照片#34;添加新组" Xcode左侧的菜单。

我已经尝试了这么多代码,都告诉我没有这样的文件夹,但文件夹就在我面前。

     if let path = Bundle.main.resourcePath {

        let imagePath = path + "/Artworks"
        let url = NSURL(fileURLWithPath: imagePath)
        let fileManager = FileManager.default

        let properties = [URLResourceKey.localizedNameKey,
                          URLResourceKey.creationDateKey, URLResourceKey.localizedTypeDescriptionKey]

        do {
            let imageURLs = try fileManager.contentsOfDirectory(at: url as URL, includingPropertiesForKeys: properties, options:FileManager.DirectoryEnumerationOptions.skipsHiddenFiles)

            print("image URLs: \(imageURLs)")
            // Create image from URL
            //var myImage =  UIImage(data: NSData(contentsOfURL: imageURLs[0])!)

        } catch let error1 as NSError {
            print(error1.description)
        }
    }
 The file “Artworks” couldn’t be opened because there is no such file."

我还应该做些什么来简单地在组文件夹中排列大量照片,并且只从该文件夹中读取所有照片名称/网址?

编辑: 打印路径给我:

/Users/me/Library/Developer/CoreSimulator/Devices/673ED39D-61D6-4F2D-BAC9-3EC7C4AC2089/data/Containers/Bundle/Application/7CDD3B62-B04O-4A48-8716-D83F6EDA5689/appName.app/Artworks

2 个答案:

答案 0 :(得分:1)

在Xcode项目中添加图像时,您必须创建文件夹引用。

Folder reference

创建文件夹引用后,它将如下所示。

Project navigator

可以使用以下代码读取文件。

let directory = Bundle.main.path(forResource: "iPad", ofType: nil, inDirectory: "1")
        let contentsArray = try? FileManager.default.contentsOfDirectory(atPath: directory!)

在这种情况下,contentsArray的计数为7。

答案 1 :(得分:0)

实际上,令人惊讶的是,2天没有人能告诉我这里真正的问题。 创建文件夹拖入项目完全不同。

出于某种原因,对于Apple来说,它总是复杂的文件。我必须弄清楚不那么直观的方法,一个看起来像文件夹的组,只是一种很好的方式来查看某些东西,不会创建文件管理器可访问的真实文件夹。

简单地说,在Xcode外面创建一个 blue 文件夹并将其拖入。