iOS 中的文件是否按添加日期自动排序?

Are files in iOS automatically sorted by date added?

我想知道如果我使用 FileManager 将一堆文件添加到 Documents 目录,并在稍后检索它们,它们是否已经按“添加日期”顺序排列?即,最旧的将在数组中排在第一位,而最新的将在数组中排在最后。

我问这个是因为在模拟器中,如果我执行 fm.createFile(atPath: ".../Documents/hello1.txt", contents: someData, attributes: nil) 然后执行 fm.createFile(atPath: ".../Documents/hello2.txt", contents: someData, attributes: nil) 并检索它们,它们会按顺序显示(hello1 首先是 hello2)。我想知道这种行为是否会始终如一。如果是,那么我可以 fm.contentsOfDirectory(atPath: .../Documents).first! 获取目录中最旧的文件。

请告诉我此行为在 实际 iOS 设备上是否一致。

提前致谢。

would they already be in "date added" order?

没有。 contentsOfDirectory 基本上只是按字母顺序排列,如果它有任何顺序的话。按年龄排序完全由您决定。

在您的示例中,年龄订单和退货订单相同,纯属巧合。

简短的回答是否定的。 运行 时间无法保证订单。您必须自己对数组进行排序。我建议改为尝试类似的方法。

    let orderedURLs = try? FileManager.default.contentsOfDirectory(at: myDirectoryUrl, includingPropertiesForKeys: [.creationDateKey], options: .skipsHiddenFiles).sorted(by: {
        if let date1 = try? [=10=].resourceValues(forKeys: [.creationDateKey]).creationDate,
           let date2 = try? .resourceValues(forKeys: [.creationDateKey]).creationDate {
            return date1 < date2
        }
        return false
    })