在Xcode中从资产目录获取图像名称列表

3

我对xCode还不熟悉。我想从Assets Catalogue中的文件夹(参见截图中的“Brands”文件夹)创建一个UIImage数组。

Assets folder details

像这样在UITableView中加载:

private func loadLocalBrands() {

    // Load images names from assets and add them to array
    let names : [String] = ["Avon","Dove","Faberlic","Grand","GreenLight","Loreal",
                            "Loreal", "MaxFactor", "Nivea", "Olay", "Oriflame",
                            "Rexona","Schwarzkopf","Spaquatoria","Wella"]

        for name in names{
            brands.append(Brand.init(name: name, photo: 
            UIImage(named: name), rating: Int(arc4random_uniform(5) + 1))!)
        }
    }

它可以正常工作 - 请参见屏幕截图

模拟器截图

但是,如果我添加更多的图像,我需要扩展“names”数组。

因此,我想要获取位于“Assets”目录中的“Brands”文件夹中的文件列表。


被标记为与此问题相同且已有答案的问题与此问题根本不一样,而且那里的答案甚至没有被标记为被接受。这个问题不应该被关闭或标记为重复。 - Christopher King
1个回答

0

你在过度工程化,最好是维护一个要显示给用户的资产列表。你需要将资产添加到项目中并重新打包,这是一个很好的时机来添加新的项目到列表中。

另外,这就是为什么像这样的事情通常从服务器管理,以防你没有考虑到。

另一个问题是,资产目录是Xcode的产品,而当应用程序的IPA文件以相同格式创建时,它不可用(根据我的理解)。因此,即使你设法绕过并读取文件列表,这种方法也会失败。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接