如何获取数组(或某些数据结构)中的Assets.xcassets文件名?

我正在尝试使用Swift遍历放入Assets文件夹中的图像。我想遍历它们,然后将它们插入.nib文件中,但是到目前为止,我还找不到如何获得类似的东西:

let assetArray = ["image1.gif", "image2.gif", ...]

这可能吗?我一直在玩,NSBundle.mainBundle()但找不到任何东西。请告诉我。谢谢!

回答:

Assets.xcassets不是文件夹,而是包含所有使用Assets.car作为其文件名的图像的存档。

如果你真的想读的资产文件,那么你需要使用一些库,可以提取像这样的文件的内容一个。

或者,您可以在项目中创建一个包,然后将其中的所有图像拖到其中。就我而言,我的项目中有Images.bundle。要获取文件名,您可以执行以下操作:

let fileManager = NSFileManager.defaultManager()

let bundleURL = NSBundle.mainBundle().bundleURL

let assetURL = bundleURL.URLByAppendingPathComponent("Images.bundle")

let contents = try! fileManager.contentsOfDirectoryAtURL(assetURL, includingPropertiesForKeys: [NSURLNameKey, NSURLIsDirectoryKey], options: .SkipsHiddenFiles)

for item in contents

{

print(item.lastPathComponent)

}

SWIFT 3/4版本:

let fileManager = FileManager.default

let bundleURL = Bundle.main.bundleURL

let assetURL = bundleURL.appendingPathComponent("Images.bundle")

do {

let contents = try fileManager.contentsOfDirectory(at: assetURL, includingPropertiesForKeys: [URLResourceKey.nameKey, URLResourceKey.isDirectoryKey], options: .skipsHiddenFiles)

for item in contents

{

print(item.lastPathComponent)

}

}

catch let error as NSError {

print(error)

}

以上是 如何获取数组(或某些数据结构)中的Assets.xcassets文件名? 的全部内容, 来源链接: utcz.com/qa/413031.html

回到顶部