【发布时间】:2016-08-09 05:06:03
【问题描述】:
我正在将大量图像路径加载到 NSURL 中。
图片位于从 1.PNG、2.PNG、3.PNG 到 1500.PNG 排序的文件夹中。
当我尝试加载它们时:
let imagePath = path + "/images"
let url = NSURL(fileURLWithPath: imagePath)
print(url)
let fileManager = NSFileManager.defaultManager()
let properties = [NSURLLocalizedLabelKey,
NSURLCreationDateKey, NSURLLocalizedTypeDescriptionKey]
do {
imageURLs = try fileManager.contentsOfDirectoryAtURL(url, includingPropertiesForKeys: properties, options:NSDirectoryEnumerationOptions.SkipsHiddenFiles)
} catch let error1 as NSError {
print(error1.description)
}
imageURLs 数组被填充:
imageURLs[0] = ...\0.PNG
imageURLs[1] = ...\1.PNG
imageURLs[2] = ...\100.PNG
imageURLs[3] = ...\1000.PNG
而不是按数字顺序!
有人可以帮助对 imageURLs 进行排序,或者在我在其上加载图像路径时或加载它们之后?
【问题讨论】:
-
您必须将
sort函数与自定义闭包一起使用,该闭包指定任何给定元素对在排序中的比较方式。这个闭包需要从给定的NSURLs 中解析出数字来比较它们。 -
只需将您的图片命名为 0001.png、0002.png, ... 无需复杂编程即可更好地工作