ios - 核心数据 : how to organize contacts (entity) into sections based on the first letter of their names?

标签 ios objective-c core-data

我有点不知所措,我有一个实体“Contact”,它有一个属性“lastName”,我想将我的联系人组织成一个分组的分区 TableView ,但我似乎无法理解该怎么做。 在 StackOverflow 上度过了最后两天,我无法让它工作,我已经向我的实体“联系人”添加了“ transient ”属性,生成了类文件,更新了模型,更改了代码但无济于事,我继续得到此错误消息表明找不到我的 transient 属性。那么回到第一个问题,是什么给了...?已阅读此处的大部分答案,但仍然无效....

谢谢你 Mundi....将它放入我的 contacts.h 文件中给我一个解析错误,我必须@interface 还是 @implement 吗?我不明白.....发现 transient 属性和 unNSSortDecriptor (ed) 的错误并修复了该错误,但我只是继续获取​​节标题和表中的所有条目......我完全不知所措

谢谢 Ian 和 Mundi....终于让它工作了,在 2010 年 gerry 3 的帖子上工作...在我的实体“联系人”的 .h 文件中接口(interface),在 .m 文件中实现...然后将 KeyPath 部分中的获取结果 Controller 更改为我在实体类文件中创建的 NSString .../p>

最佳答案

将名为 initial 的临时属性添加到您的 Contacts 实体。在Contacts.m中实现首字母计算:

-(NSString *)initial {
   if (self.lastName.length) {
     return [self.lastName subStringToIndex:1];
   }
   return @"";
}

现在您所要做的就是将抓取结果 Controller 的 sectionNameKeyPath 设置为 initial

关于ios - 核心数据 : how to organize contacts (entity) into sections based on the first letter of their names?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30295184/

相关文章:

ios - 如何使用 NSMutableArray 进行排序?

c# - 在 Xamarin for iOS 中使用 NSTimer 调用 SetNeedsDisplay

ios - 获取请求返回旧数据

ios - 将结构作为核心数据实体的属性

ios - 如何禁用 UITextField 中的文本提示?

ios - 无法避免子类化

ios - 当我设置两个有效对象之间的关系时,validateForInsert 失败

ios - 检索用户的关注者的谓词

ios - 在 TableView 单元格选择上打开 URL(RSS 阅读器)

ios - 检测是否在应用程序未启动且用户未通过它们打开应用程序时收到推送通知