一个 NSFetchedResultsController ,日期为sectionNameKeyPath

2023-12-24

我开发了一个使用 Core Data 的应用程序。在一个 UITableView 中,我想显示我的实体列表,按对象的保存日期排序。当我这样做时:

fetchedResultsController = [[NSFetchedResultsController alloc]
                            initWithFetchRequest:fetchRequest
                            managedObjectContext:managedObjectContext
                              sectionNameKeyPath:@"date"
                                       cacheName:nil];

我为每个对象获得一个新部分,因为此代码也根据秒对日期进行分组。但我想要一个按日期分组的对象列表,但仅根据日、月和年分组。这可能吗?如何实现?

非常感谢您的帮助!! ;)


这应该可以为你解决问题:

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
  NSString *rawDateStr = [[[self.fetchedResultsController sections] objectAtIndex:section] name];
  // Convert rawDateStr string to NSDate...
  NSDateFormatter *formatter = [[[NSDateFormatter alloc] init] autorelease];
  [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss ZZ"];
  NSDate *date = [formatter dateFromString:rawDateStr];

  // Convert NSDate to format we want...
  [formatter setDateFormat:@"d MMMM yyyy"];
  NSString *formattedDateStr = [formatter stringFromDate:date];
  return formattedDateStr;  
}

[EDIT]

只是看到了您的评论,对于您想要实现的目标,您可以创建一个瞬态NSDate属性(非持久),其格式与上述代码类似(即没有 H:mm:ss ZZZZ),并使用该属性作为您的sectionNameKeyPath value.

简而言之foo对象,与fooDate and fooDateTransient属性,你会:

  1. 拿你的foo.fooDate属性

  2. 使用上面的代码(或类似的)对其进行转换并分配NSDate结果到foo.fooDateTransient

  3. Use fooDateTransient身为你的sectionNameKeyPath创建时fetchedResultsController object.

PS:我自己还没有测试过,但应该值得一试!

祝你好运, 罗格

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

一个 NSFetchedResultsController ,日期为sectionNameKeyPath 的相关文章

  • MPMediaItemPropertyAssetURL 仅针对 iPhone 5s 返回 null

    我一直在使用以下代码从 MPMediaItemPickerController 返回的 MPMediaItem 对象中提取资产 url 以便我可以将音乐文件从用户 iPhone itunes 音乐库复制到文档文件夹进行处理 但在 iPhon
  • 如何在松开按钮后立即看到新的视频层?

    我有一个应用程序 用户可以按住按钮来拍摄视频 然而 当他们这样做时 带有视频播放的新图层不会立即出现 相反 有一个非常短的延迟 在用户松开按钮后 您可以看到相机仍然显示相机所看到的内容 延迟结束后 视频立即显示并开始播放 但是 我怎样才能使
  • UILocalNotification 播放自定义声音

    我在我的应用程序中实现了本地通知 但我只是想知道是否有一种方法可以播放不属于 iPhone 应用程序主包的一部分的声音 基本上在我的应用程序中 我希望用户录制生成本地通知时播放的声音 而不是播放预先录制的或默认的声音 据我所知 这是可以实现
  • 如何按日期对包含通过合并 get_posts 结果创建的 WP po​​st 对象的数组进行排序?

    我想通过合并 2 个单独的帖子的结果来创建单个帖子数组get posts查询 并按发布日期对数组进行排序 在我下面的代码中 get posts 为 args b and args a已合并为一个数组 但它们是分开的 的 9 个标题 args
  • iOS 4.0 contentScaleFactor 和比例 - 在 3.1.3 中如何处理?

    我的任务是制作一个在 iOS 4 0 中运行的应用程序再次在 3 1 3 和 3 2 中运行 大多数情况下 它很简单 但处理新 API 的扩展和其他必须传递 返回值的情况很困难 respondsToSelector performSelec
  • NSString keepCount 是 2147483647 [重复]

    这个问题在这里已经有答案了 可能的重复 NSString 保留计数 https stackoverflow com questions 1390334 nsstring retain count Objective C NSString 属
  • 如何在我的应用程序中添加应用内购买

    我想在我的应用程序中使用应用程序购买应用程序 但我不知道如何执行此操作 任何人都可以帮助我如何做以及源代码在哪里 给我链接或代码 这里有一堆链接 应用内购买编程指南 http developer apple com iphone libra
  • 如何在 UIAlertView (iOS) 中的其他两个按钮(堆叠)之间添加取消按钮

    我正在尝试创建一个带有三个按钮 将堆叠 的 UIAlertView 我希望 取消 按钮位于其他两个按钮之间的中间 我尝试将 cancelButtonIndex 设置为 1 但如果还有其他两个按钮 它只会将它们放置在索引 0 和 1 处 我知
  • 如何使用 iOS 可达性

    我正在开发一个使用网络的 iPhone 应用程序 iPhone 通过 HTTP 请求与我的服务器通信 并且应该可以在 WiFi 和 3G 上运行 我目前使用NSURLConnection initWithRequest向我的服务器发送异步请
  • 从给定的项目列表创建子列表

    我首先要说的是以下问题不是为了家庭作业目的即使因为我几个月前就完成了软件工程师的工作 无论如何 今天我正在工作 一位朋友向我询问了这个奇怪的排序问题 我有一个包含 1000 行的列表 每行代表一个数字 我想创建 10 个子列表 每个子列表都
  • 无法从 iOS 中的框架访问 .nib(XIB) 文件

    我已经从现有的代码库中创建了一个框架 并尝试在新的代码库中使用它 这很好用 但是当我尝试访问属于我的框架包的一部分的 nib 文件时 我的应用程序崩溃了 这是我用来访问视图控制器 XIB 文件的代码 testViewController c
  • 将静态库合并为单个

    如何将静态库合并为一个 我确实有三个静态库 libSignatureLibary armv6 a libSignatureLibary armv7 a 和 libSignatureLibary i368 a 现在我想将这三个文件合并到一个库
  • NSString stringWithContentsOfFile 失败,错误代码似乎错误

    我正在尝试将文件加载到字符串中 这是我正在使用的代码 NSError error nil NSString fullPath NSBundle mainBundle pathForResource filename ofType html
  • iPhone 上的双精度与浮动

    我刚刚听说 iPhone 本身无法进行双倍操作 从而使它们比常规浮动慢得多 这是真的 证据 我对这个问题很感兴趣 因为我的程序需要高精度计算 而且我将不得不在速度上妥协 iPhone 可以在硬件中执行单精度和双精度算术 在 1176 原始
  • 错误域=kAFAssistantErrorDomain 代码=209“(空)”

    我面临着一个问题SFSpeechRecognizer 启动应用程序几秒钟后 我开始收到错误消息 错误域 kAFAssistantErrorDomain 代码 209 空 和 错误 域 kAFAssistantErrorDomain 代码 2
  • 如何在 iPhone 上使用带有线程的 sqlite + fdbm 库

    相关这个问题 https stackoverflow com questions 1082554 我想把数据加载放在后台 但是 我收到 库例程调用不按顺序 错误 In 这个所以线程 https stackoverflow com quest
  • 直接在 XCode 中编译 Arm Assembly

    将arm汇编代码编译成xcode的最佳方法是什么 我有生成的那些程序集文件 有没有办法可以将 s 文件直接包含到我拥有的 C 代码中 或者我需要先运行一个预处理器 它将生成 o 文件 我可以将其与我的文件链接 如果是这样的话 在 XCode
  • 在 iPhone 3GS 与 iPhone 4 上为 Mobile Safari 嵌入 HTML5 视频

    我在服务器上的 mp4 文件中有 H 264 AAC 编码的视频 mime 类型的视频 mp4 添加到 Web 服务器 IIS 7 并且我有一个带有视频标签的页面
  • UITableViewCell显示多种字体

    我想在 uitableviewcell 中以类似于 iPhone 地址簿的不同字体显示两个单词 例如 约翰Buchanan 您应该使用两个 UILable 或者您可以使用OH属性标签 https github com AliSoftware
  • 是否可以跨 2 个不同的 iOS 应用程序访问数据?

    假设我在 App1 中存储了一些 ID 数据 并希望在同一设备上的 App2 中访问它 平台上可以这样吗 如果没有的话有什么解决方法吗 您可以使用iOS 钥匙扣 http developer apple com library ios do

随机推荐

  • 使用 shellcode 进行缓冲区溢出练习

    我正在做一个关于 C 程序上的缓冲区过载的练习 这个问题的目标是在我将 shellcode 插入到程序中后获取 root shell 这是我到目前为止所拥有的 步骤 1 首先 让我们看看文件中的 C 代码file c root kali c
  • 自动创建 IIS 6.0 网站 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我们有 Web 应用程序门户 其中托管多个应用程序 每个应用程序都有自己的 IIS 网站 因此 每次我
  • 如何使用 NDK 19 在 OSX Darwin 上交叉编译适用于 64 位 Android 的 OpenSSL

    我之前问过基本相同的问题 不同的 NDK here https stackoverflow com questions 54537033 how to build openssl 1 1 1 for 64 bit android using
  • 在 Java 中合并 2 个 PDF

    我在使用 iText 以及将 2 个 PDF 合并为 1 个 PDF 时遇到问题 我想合并这个 PDF PDF1 一个站点 这是 PDF1 PDF2 一个站点 这是PDF2 我需要的 https dl dropboxusercontent
  • 为什么any 扩展X ? A : B 给 A |打字稿中的 B?

    type TestAny any extends a 1 2 gt 1 2 why how to understand type TestUnknown unknown extends a 1 2 gt 2 type TestStringA
  • ipython 中的括号匹配

    IPython 中是否有自动关闭方括号 引号 圆括号等的选项 我希望有一个与 gedit 插件类似的功能 根据建议 通过调整 inputrc 可以让应用程序 包括 IPython 使用 readline 在输入左括号时自动添加右括号here
  • 事件溯源命令或来自外部系统的事件?

    在大多数情况下 我了解 CQRS ES 系统中命令和事件之间的区别 然而 有一种情况我想不通 假设我正在构建一个个人财务跟踪系统 用户可以在其中输入借方 贷方 显然 这些是命令 一旦经过验证 域模型就会更新并发布事件 然而 假设信用 借记信
  • LinearLayout$LayoutParams 无法转换为 android.widget.FrameLayout$LayoutParams

    解释和解决方法在底部 我正在开发一个滑块布局动画 动画工作正常 但当所有进程结束时 它们会出现下一个异常 I guess RelativeLayout家长有事情要做 但我不知道如何解决 09 06 11 24 58 952 E Trace
  • 片段/活动生命周期和方向变化

    片段很有趣 但是 所以我想 一旦您了解了它们的怪癖 它们就是跨多个设备编写良好代码的宝贵工具 然而 在修复方向改变错误时 我遇到了困难 为了让我的片段工作 它需要访问属于它的包含活动的视图 这引导我进行愉快的追逐 试图找到活动和片段生命周期
  • Android APK 文件和 DEX 文件未创建,没有警告或错误

    我开发Android已经有一段时间了 使用WIN7 64位和Eclipse 由于我尝试安装新的 ADT 1 5 我遇到了一个非常奇怪的现象 我的构建未完成 并且未生成 APK 文件 也未生成 dex 文件 类文件已创建 但没有其他任何内容
  • C# 中的互相关代码 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 大家好 我
  • 如何通过将内存存储到磁盘并在以后恢复来“休眠”Linux 中的进程?

    Linux 中的进程可以 休眠 吗 就像笔记本电脑中的 休眠 一样 我会将进程使用的所有内存写入磁盘 释放 RAM 然后 我可以 恢复进程 即从内存中读取所有数据并将其放回 RAM 然后我可以继续我的进程 我曾经维护过CryoPID htt
  • file.lastModified() 函数没有给出更新的值

    file lastModified 没有更新 虽然我更改了文件内容 但我在 Windows 上工作 我使用java文件 可能是什么问题 我需要对代码进行某种刷新吗 Java 至少 1 8 似乎可以缓存文件属性 我创建了一个 C 应用程序 它
  • 为什么分配单个字节时地址不连续?

    我动态分配内存如下 char heap start1 char malloc 1 char heap start2 char malloc 1 当我如下执行 printf 时 令人惊讶的是地址不是连续的 printf p p n heap
  • 我如何使用 pullparser 为 hashmap 创建 xml 文件

    我正在尝试从用户的输入值填充 xml 文件 用户将给 2 个条目一个键和一个值 我有一个模型类 如下所示 public class Person private HashMap
  • 在 geom_tile 中围绕特定区域绘制线条

    我有以下数据框 df1 我生成了一个geom tile从中绘制 X Y Z 1 1 0 343 5 4 0 134 10 6 0 564 20 8 0 532 40 9 0 235 46 12 0 425 我有另一个数据框 我想用它来画线
  • 初始化期间存储的值永远不会被读取

    我正在尝试创建一个游戏 以便我可以更改其数据并将其保存回来 我在注释行中收到两个错误 为什么我会收到这些错误 我分配了游戏 所以我应该正确地发布它 这是我保存游戏的代码 Game newGame Game alloc init error
  • 音乐播放器选择一些歌曲并在 Rails 中播放

    在我的 Rails 4 应用程序中 我有 jplayer 来播放音乐文件 它工作正常 我需要添加使用复选框和播放选项从播放列表中选择一些歌曲 自定义默认的 jplayer 播放列表比较困难 因此我创建了一个单独的播放列表代码是
  • 如何在Python中解压键值对? [复制]

    这个问题在这里已经有答案了 我正在尝试用 python 探索 Algorithmia 图像标记器 client algo deeplearning IllustrationTagger 0 2 5 client algo deeplearn
  • 一个 NSFetchedResultsController ,日期为sectionNameKeyPath

    我开发了一个使用 Core Data 的应用程序 在一个 UITableView 中 我想显示我的实体列表 按对象的保存日期排序 当我这样做时 fetchedResultsController NSFetchedResultsControl