按创建日期对文件排序 - iOS

2024-04-07

我试图获取 i 目录中的所有文件并根据创建日期或修改日期对它们进行排序。那里有很多例子,但我无法让其中任何一个起作用。

有人有一个很好的例子如何从按日期排序的目录中获取文件数组吗?


这里有两个步骤,获取文件列表及其创建日期,并对它们进行排序。

为了便于以后对它们进行排序,我创建了一个对象来保存路径及其修改日期:

@interface PathWithModDate : NSObject
@property (strong) NSString *path;
@property (strong) NSDate *modDate;
@end

@implementation PathWithModDate
@end

现在,要获取文件和文件夹的列表(不是深度搜索),请使用以下命令:

- (NSArray*)getFilesAtPathSortedByModificationDate:(NSString*)folderPath {
    NSArray *allPaths = [NSFileManager.defaultManager contentsOfDirectoryAtPath:folderPath error:nil];

    NSMutableArray *sortedPaths = [NSMutableArray new];
    for (NSString *path in allPaths) {
        NSString *fullPath = [folderPath stringByAppendingPathComponent:path];

        NSDictionary *attr = [NSFileManager.defaultManager attributesOfItemAtPath:fullPath error:nil];
        NSDate *modDate = [attr objectForKey:NSFileModificationDate];

        PathWithModDate *pathWithDate = [[PathWithModDate alloc] init];
        pathWithDate.path = fullPath;
        pathWithDate.modDate = modDate;
        [sortedPaths addObject:pathWithDate];
    }

    [sortedPaths sortUsingComparator:^(PathWithModDate *path1, PathWithModDate *path2) {
        // Descending (most recently modified first)
        return [path2.modDate compare:path1.modDate];
    }];

    return sortedPaths;
}

请注意,一旦我创建了 PathWithDate 对象的数组,我就会使用sortUsingComparator将它们按正确的顺序排列(我选择降序)。为了使用创建日期,请使用[attr objectForKey:NSFileCreationDate]反而。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

按创建日期对文件排序 - iOS 的相关文章

  • 如何在iOS应用程序中实现信号量?

    是否可以在ios应用程序中实现计数信号量 对的 这是可能的 有很多可用的同步工具 同步 NSLock NS条件 NS条件锁 GCD 信号量 并行线程锁 我建议阅读 线程编程指南 http developer apple com librar
  • 更改“返回”键盘按钮的文本

    如何将 返回 按钮的标准文本更改为其他内容 我希望它是 添加 不幸的是 您可以使用以下命令将 Return 更改为这些预定义标签之一 returnKeyType财产 返回 默认 Go Google Join Next Route Searc
  • XCODE:如何从设备获取/验证准确的时间戳

    在没有互联网连接的情况下是否可以获得 NTP 或准确的时间戳 我不能接受 不信任带有 NSDate date 的设备时间戳 因为它可以由用户修改 并且我的应用程序将通过修改系统日期和时间而被黑客攻击 除此之外 是否有任何方法可以检查系统日期
  • UIButton 上的圆形渐变边框

    您好 我一直在尝试在我的应用程序中实现一个 UIButton 它具有圆角和渐变边框 我使用以下代码在按钮上创建渐变边框 let gradient CAGradientLayer gradient frame CGRect origin CG
  • 从 python 执行 C++ 代码

    我是 python 的初学者 我不知道这是否可行 我在 python 中有一个简单的循环 它为我提供当前目录中的所有文件 我想要做的是从 python 执行我之前在目录中的所有这些文件上编写的 C 代码 建议的 python 循环应该是这样
  • 多次显示admob插页式广告怎么办?

    我有一个小型游戏应用程序 它有一个故事板 里面创建了像开始菜单 游戏区域 分数这样的场景 我在其中添加了 admob 横幅视图和插页式广告 我的横幅视图工作正常 但我的插页式广告只能工作一次 我在 viewdidload 上加载插页式广告
  • IOS Swift 从数组中搜索表

    我刚刚开始学习 swift 我正在研究 tableview 和 searchbar 功能 下面我有我的数组 它是水果列表 var fruits String Apple Green Pear Green Banana Yellow Oran
  • 如何命名一段代码并在不同的方法中调用它?

    我使用 Grand Central Dispatch 方法在队列中执行我的应用程序 我在该队列的计算中决定按钮的框架 我希望我的应用程序重新绘制其屏幕并计算旋转后的新帧 这是我所做的一些伪代码解释 CGFloat a 123 b 24 di
  • 使用 Xcode 6 和(可能)cocoapods 生成错误

    在构建使用 cocoapods 和最新 Xcode 6 GM 版本的 iOS 项目时 我收到以下静态分析器错误 error error reading pic error no analyzer checkers are associate
  • 在 iPhone 5 的横向模式下启动启动画面

    我们的通用应用程序仅适用于横向模式 我们需要为 iPhone 4 和 iPhone 5 添加启动画面 对于 iPhone 5 的肖像 我们使用 email protected cdn cgi l email protection 如何为 i
  • 迁移大型 Core Data 数据库崩溃

    我有一个将产品存储在核心数据文件中的应用程序 这些产品包括作为 可转换 数据的图像 现在我尝试使用轻量级迁移添加一些属性 当我使用一个小型数据库对其进行测试时 它运行良好 但当我使用一个接近 500 MB 的大型数据库时 应用程序通常会因内
  • 如何在WKInterfaceLabel下面放置一个WKInterfaceLabel?

    大家好 我在 watchkit 开发中有新的东西 我有特殊要求 我将一个 WKInterfaceLabel 安排在另一个 WKInterfaceLabel 下面 我尝试使用很多关闭选项 例如编辑位置 但 WKInterfaceLabel 未
  • 如何在 Swift 编程中获得基于导航的模板功能

    我的项目需要一个导航控制器 并且我的应用程序最初有一个社交登录 一旦验证通过 用户将被推送到另一个视图 我在其中显示一个具有 2 个选项卡的选项卡控制器 我不知道如何在 Swift 编程中做到这一点 我已将视图控制器嵌入到导航控制器中 一旦
  • 空 NSDatePicker

    你好 是否可以让 NSDatePicker 代表 nil 对象 类似 或任何其他方式 谢谢 拉杜 简短回答 否 NSDatePicker 只是忽略无效日期和 nil 例如 这不会更新 NSDatePicker 旧值仍然存在 datePick
  • 如何将图像放在 UIButton 中文本的右侧?

    如果可以避免的话 我不想使用子视图 我想要一个UIButton其中包含背景图像 文本和图像 现在 当我这样做时 图像位于文本的左侧 背景图像 文本和图像都有不同的高亮状态 最简单的解决方案 iOS 10 及更高版本 Swift button
  • 如何在 Windows 7 中使用 Python 廉价地创建非常大的文件? [复制]

    这个问题在这里已经有答案了 可能的重复 在Windows系统上快速创建大文件 https stackoverflow com questions 982659 quickly create large file on a windows s
  • 使用 twitterkit 将图像发布到 Twitter

    我正在尝试使用 Twitter 的新 TwitterKit 和自定义 UI 发布图像和推文 他们提供的唯一文档是如何用他们的观点来做这件事 所以我可以弄清楚如何在没有图像的情况下做到这一点 NSMutableDictionary messa
  • Swift 中的 AURenderCallback

    我正在创建一个使用音频单元的应用程序 虽然 Objective C 中有很多代码示例 包括 Apple 自己的 aurioTouch 等 但我正在尝试用 Swift 编写整个代码 我已经能够设置我的 AUGraph 并通过它运行一些音频 但
  • 具有多个 sqlite 文件的核心数据

    如何将 Core Data 与多个 SQLite 文件一起使用 每个文件都包含相同的结构 但数据是从不同的位置检索的 我希望能够在运行时根据应用程序设置在这些 sqlite 文件之间切换 当然 只需指向持久存储协调器 NSPersisten
  • cocos2d 2.0-rc2:结束director并重新启动

    我有一款由 cocos2d 驱动的游戏 它使用 UIKit 菜单 所以我只使用一个视图控制器的框架 即游戏本身 而且 它只有一个场景 从cocos2d 2 0开始 director本身就是一个UIViewController子类 所以我只是

随机推荐

  • 评估树遍历递归算法中是否可能出现堆栈溢出错误 (Java)

    从理论上 即不实际执行 确定某种树遍历递归算法将在 Java 中产生堆栈溢出的情况的最佳方法是什么 为了澄清我的问题 请考虑以下示例 给定一个用 Java 实现的简单二叉树 public class Node private int val
  • 自动镜像 git 存储库

    使用外部 Subversion 存储库的副作用之一是在每次提交时都会自动进行异地备份 我想使用 Git 来实现同样的目标 即 对本地存储库的每次提交都会自动提交到外部存储库 因此这两个存储库始终保持同步 我认为提交后挂钩将是最佳选择 有人有
  • Android Studio不理解Log函数

    一般来说 我对 Android 编程相当陌生 并且在打印到我的日志时遇到问题 我正在使用 Log v 来执行此操作 但收到错误 无法解析符号 v 这是代码 import android util Log public class Dress
  • 检查 CBPeripheralManager.authorizationStatus() 现在它已被弃用

    CBPeripheralManager authorizationStatus and CBPeripheralManagerAuthorizationStatus根据苹果文档已弃用 现在检查用户是否已授予在后台使用蓝牙的权限的正确方法是什
  • 将 SQL 粘贴到 MySQL 命令行

    我有一个正在定义一些 SQL 代码的应用程序 mySql SELECT sq question qs title sq id as question id sq type qs id as option id sri title as ra
  • 将日期拆分为年、月、日,且分隔符不一致

    我正在尝试将我的日期列 现在是字符串类型 拆分为 3 列 年 月 和 日期 我使用 PySpark split date pyspark sql functions split df Date df df withColumn Year s
  • 由围绕矩形顺时针方向移动的数字组成的图案(长度和宽度每次都减小)[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我已经为许多模式编写了代码 但无法为此编写 甚至没有得到任何如何继续的提示 我想生成以下输出 1 2 3 4 5 16 17 18 1
  • HTML5 中卡片/卡片容器的元素?

    规格为article元素说 The article元素表示页面的组成部分 文档 页面 应用程序或站点中的独立组成部分 并且旨在可独立分发或可重复使用 例如在联合组织中 这可以是论坛帖子 杂志或 报纸文章 博客条目 用户提交的评论 交互式小部
  • 无法在 Chrome 中从 webworker 内部创建 Web Worker

    使用 Chrome 17 0 963 46 m 我尝试从 Web Worker 内部创建一个新的 Web Worker 但得到了 Uncaught ReferenceError Worker 未定义 任何信息 关于这个 令人惊讶的是 谷歌在
  • Laravel Livewire:输入选择,选择默认选项

    我正在尝试从数据库中获取国家 地区代码 并尝试通过 IP 地址获取默认值 它按照我想要的方式工作了一秒钟 但随后我不知道会发生什么 但它会自行刷新并滚动到第一个选项而不是选定的选项 Livewire 控制器组件 use App Models
  • 为什么在 VCL 控件上调用 TRttiContext.GetType 时某些属性会重复?

    为什么有些属性会重复 例如Action and Align 而其他人则没有 AlignWithMargins 当在 VCL 控件上调用 TRttiContext GetType 时 uses System RTTI System Gener
  • 有没有可以渲染 numpy 数组数据的 pythonplotly/dash 图像小部件?

    我正在评估 pythonplotly 和 或 dash 作为更新图像的链接图的 bokeh holoviews 的替代品 要求 将数据点链接到图像 我有散点图和热图 其中各个数据点代表从图像派生的值 我想从散点图中的数据点链接回该数据点的数
  • QT 甚至在 waitForConnected 运行时进行处理

    我有一个循环 应该尝试连接到范围内的每个 IP for socket gt connectToHost addres port do stuff if socket gt waitForConnected 2000 do stuff if
  • 将图像添加到 gridpane javafx

    我正在使用数组列表添加目录中的图像列表 添加图像时 我的 ScrollPane 变得拥挤 如何保持图像之间的间距 这是我的代码 File file new File D SERVER Server Content Apps icons Fi
  • Gmail API 在发送电子邮件时覆盖自定义 Message-ID 标头

    我们使用 Gmail API 代表我们应用程序的用户发送电子邮件 在我们通过 Gmail API 发送的电子邮件的标头中 我们设置了自定义消息 ID 尽管如此 Gmail 仍会用不同的邮件 ID 覆盖我们设置的邮件 ID 以下是我们尝试过的
  • 无状态与有状态

    我对包含有关编程中无状态和有状态设计的一些具体信息的文章感兴趣 我很感兴趣 因为我想了解更多有关它的信息 但我真的找不到任何关于它的好文章 我在网上读过几十篇文章 这些文章模糊地讨论了这个主题 或者他们正在谈论 Web 服务器和会话 这也是
  • jquery淡出当前div,找到下一个div并淡入或找到最后一个并淡入

    我有一个名为 stage 的 div 类 它是问卷的一个阶段 div class stage div class next Next div div div class stage div class back Back div div c
  • 如何在目标c中获得该月的第n个星期日日期?

    如何在 Objective C 编码中获取第一个星期日或第 n 个星期日或星期一 任意一天 日期 例如 我只想每年在我的应用程序中显示友谊日的日期 但是 友谊是在八月的第一个星期日 所以 日期每年都会改变 在这里我需要找到每年八月的第一个星
  • 使用 .Net 3.5 程序集 SQL 2005 CLR?

    我有一个 CLR 存储过程 它引用在 VS 2008 中创建的使用 Linq 的程序集 我们将此程序集称为 MyLib 我似乎无法将 MyLib 放入我的 SQL 2005 数据库中 我执行以下操作 CREATE ASSEMBLY MyLi
  • 按创建日期对文件排序 - iOS

    我试图获取 i 目录中的所有文件并根据创建日期或修改日期对它们进行排序 那里有很多例子 但我无法让其中任何一个起作用 有人有一个很好的例子如何从按日期排序的目录中获取文件数组吗 这里有两个步骤 获取文件列表及其创建日期 并对它们进行排序 为