如何按创建日期对filemanager数组进行排序

尼尔·伯根罗斯

我编写了在文档目录中检索CSV路径并将其加载到表格视图中的代码。我试图按创建日期对文件进行排序,以便它们在tableview中从最新到最旧列出。任何人都对如何做到这一点有任何建议?

我还没有尝试过任何东西,因为我有点卡住了

override func viewDidLoad() {
        super.viewDidLoad()

        csvFiles = listCsvs()

        tblViewDataCSV.dataSource = self
        tblViewDataCSV.delegate = self



    }

    func listCsvs() -> [URL] {
        let fileManager = FileManager.default
        let documentDirectory = fileManager.urls(for: .documentDirectory, in: .userDomainMask)[0]

        let files = try? fileManager.contentsOfDirectory(
            at: documentDirectory,
            includingPropertiesForKeys: nil,
            options: [.skipsSubdirectoryDescendants, .skipsHiddenFiles]
            ).filter {
                $0.lastPathComponent.hasSuffix(".csv")
        }

        print(files as Any)

        return files ?? []


    }

我需要按.creationdate排序的数组,而不是按字母数字排序的数组。非常感谢您的帮助。

rmaddy

您需要声明一个struct具有URL(或文件名字符串)和Date的。从您从FileManager查询的文件(及其创建日期)中填充此结构的数组。

使用该结构数组作为表视图的数据模型。您可以按文件名或日期(或将来可能添加的任何其他属性)对数组进行排序。

您可以通过首先添加[.creationDateKey]includingPropertiesForKeys参数来获取每个文件的创建日期contentsOfDirectory然后resourceValues在每个URL上使用创建日期请参阅如何在Swift 3中使用URL resourceValues方法获取文件创建日期?有关获取创建日期的更多详细信息。

使用代替enumerator方法可能会有所帮助这将使获取需求URL属性和填充结构数组变得更加容易。FileManagercontentsOfDirectory

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何按日期对多维数组进行排序?

如何按日期对EKEvent数组进行排序?

如何使用javascript根据创建日期按升序对对象数组进行排序并做出反应?

如何按日期对Javascript对象数组进行排序?

如何按日期对对象数组进行排序?

如何按日期字段对json数组进行排序

如何在JavaScript中按日期对数组进行排序?

如何按日期对对象的嵌套数组进行排序

如何按日期对包含通过合并get_posts结果创建的WP post对象的数组进行排序?

按日期对多维数组进行排序

PHP:按日期对多维数组进行排序

按日期对PHP数组表进行排序

目录进入数组,然后按创建日期对文件进行排序

如何按日期对 DataTables 行进行排序?

如何按日期对ant表列进行排序?

如何按日期对 $.each() 函数进行排序

如何按日期对记录进行排序?

如何按日期对数组与其他数组进行排序并限制laravel和carbon

按单键按日期值对对象数组进行排序

按日期对带有日期字段的对象数组进行排序

如何按日期创建排序对象

如何按列对numpy数组进行排序?

如何按值对多维数组进行排序

如何按数值对数组进行排序?

如何按“包含”对数组进行排序?

如何使用java 1.6按创建日期对文件进行排序

如何在python中按创建日期对目录列表进行排序?

如何创建动态排序,以按Power bi中的日期切片器进行响应

如何使用documentClient在dynamodb中按创建日期对asc进行排序