Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 从CoreData填充表视图的层次结构-我应该依赖NSFetchedResultsController吗_Iphone_Objective C_Core Data_Memory Management_Uitableview - Fatal编程技术网

Iphone 从CoreData填充表视图的层次结构-我应该依赖NSFetchedResultsController吗

Iphone 从CoreData填充表视图的层次结构-我应该依赖NSFetchedResultsController吗,iphone,objective-c,core-data,memory-management,uitableview,Iphone,Objective C,Core Data,Memory Management,Uitableview,我目前正在开发针对iOS 4.2的iPhone 我想知道在处理树状模型对象时,填充一组表视图的最佳方法是什么。每个级别与下面的项目都有一对多的关系 下面是我正在处理的数据类型的一个简单示例: 杂志[有许多]期[有许多]文章 我想创建一个包含杂志列表的TableView。点击单元格将生成问题列表。点击问题单元格将生成文章列表 在我看来,实现这一点的简单方法是创建一个根视图控制器,其中包含一组获取的杂志。点击一个杂志单元格时,控制器将创建一个新的IssueView控制器,并将其传递给selected

我目前正在开发针对iOS 4.2的iPhone

我想知道在处理树状模型对象时,填充一组表视图的最佳方法是什么。每个级别与下面的项目都有一对多的关系

下面是我正在处理的数据类型的一个简单示例:

杂志[有许多]期[有许多]文章

我想创建一个包含杂志列表的TableView。点击单元格将生成问题列表。点击问题单元格将生成文章列表

在我看来,实现这一点的简单方法是创建一个根视图控制器,其中包含一组获取的杂志。点击一个杂志单元格时,控制器将创建一个新的IssueView控制器,并将其传递给selectedMagazine.issues。现在,在IssueViewController中,当点击一个问题单元格时,相应问题的文章NSSet将传递给一个新的ArticleTableViewController

我想知道的是

  • 对于获取数据的“最佳”方式是否存在共识?从根节点遍历对象图与使用NSFetchedResultsController
  • 如果某期杂志暂时无法访问,核心数据是否会从其父杂志的集合中卸载某些内容(比如某期)?或者,当访问对象图上的更多节点时,会有更多的东西塞满内存吗

我在这里浏览了很多次,但没有看到任何能完全回答我问题的东西。提前谢谢

我不确定您使用的是什么软件工具或编程语言,(ABAP/SAP???),但我使用过不同的工具和层次结构,这就是我学到的

首先,跳过可视化控件/数据库连接,考虑数据模型,使用树比使用图形更好

第二,数据存储在不同的表中,表示为分层的,难以使用和管理

第三,。不要尝试用所有这些层次结构信息加载/填充控件,而是以增量方式进行

例如,仅使用“问题”加载treeview控件一级节点。之后,添加一个按钮,加载所选问题/树节点的“文章”

另一种方法是,创建一个表格,表格中包含所有“问题”,添加一个按钮,打开一个新表格,表格中包含与特定选定“问题”行和单元格相关的“文章”


干杯。

我不确定您使用的是什么软件工具或编程语言,(ABAP/SAP???),但我使用了不同的工具和层次结构,这就是我学到的

首先,跳过可视化控件/数据库连接,考虑数据模型,使用树比使用图形更好

第二,数据存储在不同的表中,表示为分层的,难以使用和管理

第三,。不要尝试用所有这些层次结构信息加载/填充控件,而是以增量方式进行

例如,仅使用“问题”加载treeview控件一级节点。之后,添加一个按钮,加载所选问题/树节点的“文章”

另一种方法是,创建一个表格,表格中包含所有“问题”,添加一个按钮,打开一个新表格,表格中包含与特定选定“问题”行和单元格相关的“文章”


干杯。

在使用这些向下钻取类型的接口时,我更喜欢使用NSFetchedResultsController。学习曲线有点陡峭,但它为您提供了许多功能和控制,特别是在使用xCode提供的应用程序模板时,您通常需要自己编写代码。i、 e.在NSFetchedResultsController的设置中,您可以设置提取批量大小(有助于性能调整)、节(UI优化)、排序描述符等。如果您要执行NSSet路径,则必须手工编写NSFetchedResultsController已经提供给您的大量代码


我在苹果开发者论坛上问过,关于何时使用NSSet或NSArray v是否有最佳实践。NSFetchedResultsController和苹果专家的回应是,这取决于您和您的实现。在过去的几年里,我开发了几个应用程序,现在我明白了它们的来龙去脉。这实际上取决于你对应用程序的需求,以及你想花多少时间学习NSFetchedResultsController的细节

在使用这些深入类型的接口时,我更喜欢使用NSFetchedResultsController。学习曲线有点陡峭,但它为您提供了许多功能和控制,特别是在使用xCode提供的应用程序模板时,您通常需要自己编写代码。i、 e.在NSFetchedResultsController的设置中,您可以设置提取批量大小(有助于性能调整)、节(UI优化)、排序描述符等。如果您要执行NSSet路径,则必须手工编写NSFetchedResultsController已经提供给您的大量代码


我在苹果开发者论坛上问过,关于何时使用NSSet或NSArray v是否有最佳实践。NSFetchedResultsController和苹果专家的回应是,这取决于您和您的实现。在过去的几年里,我开发了几个应用程序,现在我明白了它们的来龙去脉。这实际上取决于你对应用程序的需求,以及你想花多少时间学习NSFetchedResultsController的细节

你看到问题标签了吗?嘿,谢谢你的快速回复:)我正在使用CoreData orm框架在iPhone上执行此操作。你看到问题标签了吗?嘿,谢谢你的快速回复:)我正在使用CoreData orm框架在iPhone上执行此操作。