0

几个小时以来,我浏览了许多 Swift 和 Objective-C 帖子,以帮助我创建一个函数,该函数返回 xcassets 中目录的字符串文件名数组。然后,我可以使用文件名数组来创建另一个向我的用户显示随机图像的函数。

var imageDirectory  = [String]()


func getContentOfImageDirectory() -> [String] {

    imageDirectory.removeAll(keepCapacity: false)


    let fm = NSFileManager.defaultManager()

    let sourcePath = NSBundle.mainBundle().resourcePath!.stringByAppendingPathComponent("DeviceImagesFolder")

    var tempArray = fm.contentsOfDirectoryAtPath(sourcePath, error: nil)


    if tempArray != nil {

        self.imageDirectory = tempArray as! [String]

        return imageDirectory

    }

    else {
        println("tempArray was nil")


        if fm.fileExistsAtPath(sourcePath){

            println("There is a file")
            return []
        }

        else {
            println("There is not a file")
            return []
        }
    }

}

但是 tempArray 不断返回 nil 和“​​没有文件”。显然我的函数返回“DeviceImagesFolder”的整个包含,而不是文件名数组。

如果有人可以提供解决此问题的方法,将不胜感激。干杯。

4

1 回答 1

0

Xcode 将 xcassets 文件夹中的文件编译成一个文件(名为“Assets.car”)。

因此,您应该将文件添加到“普通”文件夹中,而不是使用 xcassets。确保在“复制捆绑资源”构建阶段复制它们。

于 2015-07-06T13:07:01.207 回答