从 NSFetchedResultsController 设置 UITableView 标头

2023-11-24

我有一个NSFetchedResultsController这是从 a 中获取对象NSManagedObjectContext。我正在使用结果来填充 UITableView。

我正在用这两个排序描述符进行过滤。

NSSortDescriptor *lastOpened = 
    [[NSSortDescriptor alloc] initWithKey:@"lastOpened" ascending:NO];

NSSortDescriptor *titleDescriptor = 
    [[NSSortDescriptor alloc] initWithKey:@"title" ascending:YES];

当我创建NSFetchedResultsController,我通过以下方式对各部分进行排序sectionNameKeyPath:@"lastOpened".

现在我的部分显示标准格式,例如2009-07-02 20:51:27-0400由于没有两个可以同时打开,因此它们都是独一无二的。我需要它们涵盖日期/时间范围,例如一整天,并且采用人类可读的形式。就像是7 月 2 日,星期四.

Thanks!


Edit:

这一切都在一个UITableViewController。这是更多代码。

- (NSString *)tableView:(UITableView *)tableView  titleForHeaderInSection:(NSInteger)section {
    // Display the dates as section headings.
    return [[[fetchedResultsController sections] objectAtIndex:section] name];
}



- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {

    id <NSFetchedResultsSectionInfo> sectionInfo = [[fetchedResultsController sections] objectAtIndex:section];
    return [sectionInfo numberOfObjects];
}

我最终添加了一个新属性day to my NSManagedObject子类来获取格式化的日期字符串。

@property (nonatomic, readonly) NSString * day;
@property (nonatomic, retain) NSDateFormatter * dateFormatter

合成日期格式化程序。 @synthesize dateFormatter;

我在 awakeFromFetch 和 awakeFromInsert 中初始化日期格式化程序。

self.dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[self.dateFormatter setDateStyle:NSDateFormatterMediumStyle];

访问器用于day.

- (NSString *)day {
  NSDate *date = self.startDate;
  return [self.dateFormatter stringFromDate:date];
}

然后我设置我的部分名称键路径来查看day;您不需要对排序描述符进行任何更改。

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

从 NSFetchedResultsController 设置 UITableView 标头 的相关文章

随机推荐

  • 在C#(WinForms)中拦截应用程序中所有控件的点击事件

    我想创建一个应用程序来拦截应用程序所有形式的所有 UI 事件并将它们写入日志 然后可以使用这些数据来查看哪些控件最常用 按什么顺序等 问题是我希望这种情况自动发生 而不需要修改现有的类 我制作了一个原型 将一个方法附加到表单中所有控件的单击
  • 64 位 Win 上缺少 dll

    我有一个 net 应用程序 它使用一些 vc 编译的 Win32 dll 它在 32 位 Win 上运行良好 但在 64 位上存在问题 无法加载 DLL xyz 找不到指定的模块 HRESULT 异常 0x8007007E 使用depend
  • 在 Python 中的函数中使用嵌套函数内的全局变量

    我想知道为什么我的代码不起作用 我预计它会返回 11 但它创建了一个异常 def f counter 1 def f1 global counter counter 1 while True f1 if counter gt 10 retu
  • Delphi Win32 的最佳共享软件锁 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 与我上一个问题相同的介绍 我正在重写和 或合并一堆我的 应用程序框架 类 基本主窗体 关于框 锁定例程和购买链接 自动更新 数据模块初始化程序等 基
  • 在哪里可以获得 groovy-all-4.0.0.jar?

    我在哪里可以获取 下载 groovy all 4 0 0 jar 其中包含一个文件中所有重要的 Groovy 4 0 模块 类 到目前为止我只找到了一个pom文件 但我无法使用Maven https repo1 maven org mave
  • com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:在 mysql 中

    您好 我已经创建了 jdbc 程序 数据库是 MySQL 5 1 我所有的朋友也使用相同的数据库进行连接 我们所有人的联系总数变成了150个 所以当我想连接更多时我收到以下错误 com mysql jdbc exceptions jdbc4
  • WPF 根元素对于导航无效

    我正在将 WPF XBAP 应用程序转换为 WPF 桌面应用程序 我让它在桌面上运行 但现在尝试将页面引用更改为窗口引用 MyApp StartForm root element is not valid for navigation 我尝
  • 如何更改导航抽屉标题中 TextView 的文本?

    我想更改导航抽屉标题内 TextView 的文本 但我收到这个错误 java lang NullPointerException 尝试调用虚拟方法 void android widget TextView setText java lang
  • ASP.NET / C#:服务器控件中的 DropDownList SelectedIndexChanged 未触发

    我正在创建一个服务器控件 它基本上绑定两个下拉列表 一个用于国家 地区 一个用于州 并更新国家 地区的 selectedindexchanged 事件的州下拉列表 但是 它不会回发 有什么想法吗 将它们包装在 UpdatePanel 中的奖
  • strtotime() 被认为有害吗?

    似乎很多人都在为 PHP 中的日期 时间问题而苦苦挣扎 不可避免地 许多接受的答案往往是 Use strtotime这样 这真的是指导人们处理约会问题的最佳方式吗 我开始觉得strtotime是一种巧妙的技巧 不一定依赖于重要的日期 时间计
  • 实时 PL/SQL 输出

    是否可以实时获得 PL SQL 的输出 我有一个相当大的包裹 运行了一个多小时 我想看看该包裹在特定时间在哪里 无论如何 我目前使用一个日志表来执行此操作 每次运行该表都会填充数百个日志描述 我只是好奇这是否可能 Thanks 这就是我使用
  • 在大括号和管道中对命令进行分组不会保留变量

    说我有一个文件myfile在我当前的工作目录中 如果命令正常执行 我想设置一个变量 但也使用它的结果 ls myfile v 3 myfile echo v 3 但现在我也想通过管道传输结果 所以我使用 list 对命令进行分组的语法 un
  • 响应式设计:不同屏幕尺寸显示不同图像

    我们的客户希望在小屏幕上与大屏幕上有不同的横幅图像 不仅仅是收缩 拉伸以适应 而且实际上替换了不同的图像 全尺寸图像相当复杂 几个人 两个徽标和一些装饰文本 因此对于较小的图像 他们想要裁剪掉一些人 删除徽标等 所以他们想要最大的 最复杂的
  • 为什么带有两个常量的三元运算符比带有变量的三元运算符更快?

    在Java中 我有两个不同的语句 通过使用三元运算符来实现相同的结果 如下所示 num lt 0 0 num num num lt 0 0 1 看来第二条语句不必要地复杂 并且比第一条语句花费的时间更长 但是当我使用以下代码记录每个语句所花
  • Pandas 分割并选择第二个元素

    我有一个像这样的数据框 item id 26 23 24 65 12 24 54 24 66 23 当我说 df item id df item id map lambda x x split 0 I get item id 26 24 1
  • 在活动之间导航时重置运动布局

    我在我的主要活动中使用运动布局 它工作正常 但是 当我移至其他活动并导航回主活动时 有时活动会重置并且布局处于起始状态 如何防止这种情况发生 除此之外 我还有另一个关于运动布局的问题here 我所做的是添加一个字段 具体来说是一个布尔字段
  • 设置十六进制和十进制颜色的行为不同

    我试图通过以下方式设置橙色 WorkSheet Range A1 A5 Interior color 49407 and WorkSheet Range A1 A5 Interior color HC0FF Hex value of 494
  • 如何将 SelectManyCheckbox 与两个 ArrayList 一起使用? - Primefaces

    我正在尝试实现一个
  • PyMC 3 中的生存分析

    我尝试移植简单的生存模型从这里 介绍中的第一个 从 PyMC 2 到 PyMC 3 但是 我没有找到任何与 观察到的 装饰器等效的东西 并且我尝试编写新发行版失败了 有人可以提供一个例子 这是如何在 PyMC 3 中完成的吗 这是一个棘手的
  • 从 NSFetchedResultsController 设置 UITableView 标头

    我有一个NSFetchedResultsController这是从 a 中获取对象NSManagedObjectContext 我正在使用结果来填充 UITableView 我正在用这两个排序描述符进行过滤 NSSortDescriptor