gpt4 book ai didi

iphone - 实现 NSFetchedResultsSectionInfo

转载 作者:行者123 更新时间:2023-11-29 04:14:54 27 4
gpt4 key购买 nike

我有相当大量的数据,我想将其划分为自定义部分,基于某些键路径的部分和基于其他条件的其他部分。所以我想出了子类 NSFetchedResultsController 的想法. NSFetchedResultsController 的这个子类应该提供在其方法 -(NSArray*)sections 中返回部分的灵 active 它返回 id<NSFetchedResultsSectionInfo> 的数组.如果我可以通过自己的符合协议(protocol)的类实现,然后在fetchedResultsController的sections方法中传递对象的自定义数组,我想我可以完成我的任务。

有没有办法实现NSFetchedResultsSectionInfo在您自己的类中,然后在 fetchedResultsController 中返回此类对象的自定义数组子类?或者有一些库可以完成这个任务吗?

编辑

让我描述一下我想要实现的目标。我有联系人模型作为 NSManagedObject 子类。该实体具有称为状态的属性,该属性可以是未知的、已知的和未识别的。现在,我希望对这些联系人进行分区,使所有未知联系人都出现在一个部分中,而未识别的联系人也应该位于另一个不同的部分中。现在,所有其他已知联系人应根据联系人姓名位于不同部分。如何做到这一点?

我的表格 View 应填充为;

Unknown Contacts (sorted into a single section according to date )
-
-
Known Contacts(A)(known contacts sorted into different sections according to the name)
-
-
Known Contacts(B)
-
-
-
Known Contacts(C)
-
-
-
-
-
-
Known Contacts(Z)
-
UnIdentified Contacts(sorted into a single section with first name)
-
-
-

最佳答案

NSFetchedResultsController 已经实现了这一点。

NSArray* sectionsArray = self.fetchedResultsController.sections;

要实现特殊部分,请遵循 Apple 示例代码 DateSectionTitles 中的原则。 。模式如下:

  • 创建一个新的 transient 属性sectionIdentifier。与示例代码一样,还在托管对象子类中包含 primitiveSectionIdentifier 属性。这是您在 FRC 中用于 sectionNameKeyPath 的属性。

  • 设计一个正确排序的方案。将所有排序和计算逻辑放入类实现文件的 sectionIdentifier 的自定义 getter 中。例如,您可以简单地使用两个字符在大写字母“A”之前排序,这可能是常规节标题的第一个。你也可以把它变成一个数字,比如 1 和 2 代表你的前两个部分,3+ 代表字母表中的第一个字母。

  • titleForHeaderInSection 中解码您的方案以显示所需的内容。

我最近为一位客户做了这件事,该客户对大量联系人列表采用了非标准编码方案,表明了一些营销分割。部分标识符的数据也是从几个不同的属性中提取的。

关于iphone - 实现 NSFetchedResultsSectionInfo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13860547/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com