我有两个设备iPhone和Ipad
当连接iPad时,从HD中检索并存储这些.png文件的阵列将按以下顺序包含文件,例如,即使代码执行了多次1,3,5,8,11,25,66,2。这些只是文件名
[如果连接了iPhone,给定HD上的相同图像集,则在执行代码时,数组将按以下顺序包含图像;例如,11 5 25 1 2 66 3 8
请让我知道为什么两个设备尽管使用相同的代码,但它们应用从HD检索数据的顺序却不同。
一些演示代码
let fm = FileManager.default
let path = Bundle.main.resourcePath!
let items = try! fm.contentsOfDirectory(atPath: path)
var sortItems : [Any]?
for item in items {
// sort algo
sortItems.append(item)
}
请让我知道为什么两个设备尽管使用相同的代码,但它们应用从HD检索数据的顺序却不同。
contentsOfDirectory
的文档说明:
返回的数组中文件的顺序是不确定的。
至少特定文件系统(的版本)(HFS +,APFS,FAT)和项目的创建顺序可以影响返回的项目的顺序。
如果您需要以一致的顺序排列项目,请根据所需的顺序对返回的数组进行排序。
HTH