我正在开发一个应用程序。在其中,我从 xml 解析中得到 1000 个结果。每个结果都有不同的属性。所以我为属性创建一个类,并为每个结果创建一个对象。我将结果保存在一个数组中。我的怀疑是因为这是很多结果,我可能会面临记忆问题。如果这是一个问题,我该如何处理?请告诉我如何做到这一点。
问问题
56 次
2 回答
0
在下面的讨论中很好地解释了 Objective-C 中的内存管理。
http://www.iphonedevsdk.com/forum/iphone-sdk-tutorials/7295-getters-setters-properties-newbie.html
希望这能回答你的问题......
于 2012-05-17T17:38:05.493 回答
0
如果您正在解析一个非常大的文档,请使用NSXMLParser
和委托对象来解析该文档。解析器不会创建一个巨大的对象树来表示 XML,而是在每次遇到新属性、元素等时调用您的委托。这样您可以直接构建数据对象,而不会在中间 XML 解析上浪费内存树表示。
完成此操作后,您可以在创建对象时或批量保存对象。
如果您非常注重内存,您实际上可以使用 NSXMLParser 来解析正在下载的输入流,因此您甚至不需要将完整的 XML 文本保存在内存中。(为避免中断,您还可以下载到磁盘文件,然后从文件中解析。)
于 2012-05-17T17:51:56.203 回答