【发布时间】:2011-07-01 01:56:32
【问题描述】:
我有一个从 *.xml 文件导入信息的 CoreData 应用程序。该文件有两个部分,摘要和详细信息。
本质上,我有两个表视图,tvSummary 和 tvDetail;两个数组控制器,acSummary 和 acDetail;和一个可变数组 maDetail。
我在导入文件时使用[acSummary addObject:newSummaryData]; 方法将汇总数据记录添加到acSummary 数组控制器。导入文件后,汇总数据字段将填充 tvSummary 表视图。
当我使用[acDetail addObject:newDetailData]; 方法将详细数据记录添加到 acDetail 数组控制器时,最多可能需要 20 分钟才能导入多达 72000 条记录(大多数文件包含 3600 到 21600 条记录)。一旦这个冗长的过程完成,导入的详细数据字段将填充 tvDetail 表视图。当我在 tvSummary 表视图中进行选择时,tvDetail 表视图中显示的数据会更改以匹配所选行。我认为这就是它应该的工作方式。
在学习 Cocoa / Objective-c / Core Data 的过程中(我还是个新手)我发现我可以在大约 5 秒内将 72000 条记录复制到 maDetail 可变数组中。我还发现我可以使用[acDetail setContent:maDetail]; 方法在大约两秒钟内将 maDetail 可变数组的内容复制到 acDetail 数组控制器。
我想不通的是,当我在 tvSummary 表视图中选择不同的行时,如何让 acDetail 数组控制器记住它给出的内容。我看到对强制数组控制器“保存”的引用,但是,我找不到任何关于如何实现这种方法的文档。任何建议或指导将不胜感激。
【问题讨论】:
标签: objective-c cocoa core-data nsmutablearray nsarraycontroller