2012-05-17 92 views
0

我正在开发一个应用程序。其中我从XML解析中获得1000个结果。每个结果都有不同的属性。所以我为属性创建一个类并为每个结果创建一个对象。我将结果保存在一个数组中。我怀疑是由于这是一个很大的结果,我可能会遇到记忆问题。如果这是一个问题,我该如何处理?请告诉我如何做到这一点。在Objective-C如何保持XML解析的巨大结果

回答

0

如果你解析一个非常大的文档,使用NSXMLParser和委托对象来解析文档。与其创建一个巨大的树对象来表示XML,解析器将在每次遇到新的属性,元素等时调用委托。这样,您可以直接构建数据对象,而不会浪费内存在中间XML解析上树表示。

一旦你这样做,你可以保存创建它们时的对象,或批量。

如果您非常关注内存,实际上可以使用NSXMLParser来解析输入流,因为它正在下载,所以您甚至不需要在内存中拥有完整的XML文本。 (为了避免中断,你也可以下载到一个磁盘文件,然后从文件中解析出来。)

+0

已有xml文件存在于我的记忆中。 – user1400581