Uitableview Coredata。显示多个实体的Tableview

Uitableview Coredata。显示多个实体的Tableview,uitableview,core-data,entity,filtering,nsfetchedresultscontroller,Uitableview,Core Data,Entity,Filtering,Nsfetchedresultscontroller,我正在使用coredata构建一个应用程序,该应用程序将具有以下实体。。事件(即要做的事情)、项目(即可用的事情)、请求(即请求帮助)。我想要一个表格视图,在那里我可以显示用户可以以各种方式筛选的所有上述项目。。即仅显示项目、仅显示事件、仅显示特定时间范围内的所有项目等。我在coredata中的最初想法是创建一个名为post的实体,并将其作为事件、项目和请求实体的父实体。这样,我就可以使用一个fetchedresultscontroller(FRC)来填充主表视图 然而,我在coredata使用

我正在使用coredata构建一个应用程序,该应用程序将具有以下实体。。事件(即要做的事情)、项目(即可用的事情)、请求(即请求帮助)。我想要一个表格视图,在那里我可以显示用户可以以各种方式筛选的所有上述项目。。即仅显示项目、仅显示事件、仅显示特定时间范围内的所有项目等。我在coredata中的最初想法是创建一个名为post的实体,并将其作为事件、项目和请求实体的父实体。这样,我就可以使用一个fetchedresultscontroller(FRC)来填充主表视图

然而,我在coredata使用此结构创建正确的nsmanagedobject子类时遇到了问题,并且还阅读了一些SO帖子,建议在数据库规模增大时不要使用coredata中的父子结构


所以现在,除非有人建议我,否则我会继续使用单独的项、事件和请求实体。现在,我正在尝试解决如何在一个表中填充所有这些实体的主表,而不考虑类型,允许上面要求的筛选,并允许用户选择一个单元格,并让该表单元格显示所选单元格的详细信息。对于最后一个需求,我假设需要将特定实体类型的选定托管对象传递到详细信息屏幕,然后对其类型进行切换。感谢您的建议。

我有两个主要的coredata问题 1.xcode未正确创建我的nsmanagedobject子类和 2.我不知道如何对实体进行建模(父子对独立),这样我就可以用一个fetchedresultscontroller(FRC)中的所有实体填充一个表视图,然后再根据各种条件进行筛选,如实体类型、添加日期等

我最终找到了如何通过遵循以下指令来纠正coredata创建子类的方式


然后我返回到父子实体,并使用单个FRC填充tableview

您的表中有什么排序标准?您是否愿意将每种对象类型单独列出,例如在单独的部分中?我想主要按输入帖子的日期/时间进行排序(post是任何实体(如项目、事件、请求等)的通用术语。我还希望按照其他标准进行排序,如到期日期、与用户的距离等。因此,从本质上讲,我需要一个主表视图,在单个排序列表中显示所有类型的实体。我还打算允许用户查看列出的每个对象类型。)另一方面,正如您在上面指出的,但我认为这将更容易实现,因为我可以有一个适用于每个列表的单一FRC,这将很困难;我最终为每个实体使用了一个FRC,并在单独的部分中使用了不同的对象。这样,将FRC索引路径映射到tableView索引路径就相当容易了em混合但不想使用父子实体,是否可以使用一个实体来保存所有公共属性(例如日期、到期日期、距离等)并且为每种类型的帖子定义了单独的1:1关系?thx…因此,我的选项要么返回到父子实体,要么是一个具有公共属性和每种类型关系的实体。假设帖子数量可能非常大,每个选项的优缺点是什么…从您的评论来看,似乎只有一个选项数据库中包含所有POST(公共元素)的大型表(无论我选择哪种方式…(如果我想继续使用FRC填充我假设的tableview)是的,我认为这是真的:如果你想使用单个FRC,你将需要(一种或另一种)一个具有大多数属性的单一实体。“多重关系”我提出的解决方案的缺点是,如果目标对象发生变化,将不会调用FRC委托方法。因此,在这两个选项中,我认为我将坚持使用父子实体。我确实研究了将FRC底层的NSFetchRequest子类化,以秘密地进行三次提取并返回一个组合结果,但我很快超出了我的理解范围,认为这是个坏主意。