为什么尽管安装了相同的代码,但不同的设备仍从高清机返回相同集合的不同顺序

问题描述 投票:0回答:2

我有两个设备iPhone和Ipad

当连接iPad时,从HD中检索并存储这些.png文件的阵列将按以下顺序包含文件,例如,即使代码执行了多次1,3,5,8,11,25,66,2。这些只是文件名

[如果连接了iPhone,给定HD上的相同图像集,则在执行代码时,数组将按以下顺序包含图像;例如,11 5 25 1 2 66 3 8

请让我知道为什么两个设备尽管使用相同的代码,但它们应用从HD检索数据的顺序却不同。

ios objective-c nsarray nsfilemanager nsbundle
2个回答
0
投票
您可以根据任何参数或名称进行排序,然后显示。在两种情况下都可以使用。

一些演示代码

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) }


0
投票
请让我知道为什么两个设备尽管使用相同的代码,但它们应用从HD检索数据的顺序却不同。

contentsOfDirectory的文档说明:

返回的数组中文件的顺序是不确定的。

至少特定文件系统(的版本)(HFS +,APFS,FAT)和项目的创建顺序可以影响返回的项目的顺序。

如果您需要以一致的顺序排列项目,请根据所需的顺序对返回的数组进行排序。

HTH

© www.soinside.com 2019 - 2024. All rights reserved.