2

我的应用由一个 TabBarController 组成,每个选项卡都有一个 UITableView。

启动时,我将服务器中的 XML 文件解析为 Object 类,然后在第一个 tableview 中显示对象。

我的问题是,当我想解析第二个 XML 文件时该怎么办?目前,这样做时,“XML-file-2”中的信息将覆盖“XML-file-1”解析的对象。我该如何正确处理?我是否为每个 XML 文件设置了另一个 Object 类,或者是否有另一个可以解决此问题?

我正在使用 NSXMLParser。

4

4 回答 4

1

在该片段 ( http://pastie.org/537227 ) 的第 21 行,您将 products 数组 ( appDelegate.products) 设置为一个新的可变数组。如果您希望第二次运行附加到appDelegate.products,您应该查看其中是否appDelegate.products已经有对象,如果是,请不要为其分配新数组,只需使用 NSMutableArray 的 addObject: 方法将其添加到其中

于 2009-07-07T20:57:02.307 回答
1

我认为您应该考虑拥有两个实例XMLParser,一个用于您要读取的每个 XML 文件。它允许您同时读取尽可能多的XML文件而不会相互影响。它也更加模块化。

于 2009-07-07T21:08:06.763 回答
0

...不要覆盖已经存在的数据...?

如果你在 UITableView 中显示内容,那么我敢打赌你在某个地方有一个 NSArray。希望,如果你设置得当,NSArray 包含模型对象,每个模型对象对应于你的 UITableView 中的一行。但是,我建议使用 NSMutableArray。然后,当您解析第二个 XML 文件并从中构建模型对象时,只需使用 NSMutableArray 的 addObject: 方法,然后在 UITableView 上重新加载数据。

于 2009-07-07T14:33:56.300 回答
0

正如 notnoop 已经提到的,制作多个 NSXMLParser 实例将是最好的解决方案。一个名为Simple RSS Reader
的开源 iPhone RSS 阅读器将是您现在想要的一个很好的示例。 您可以直接使用Simple RSS Reader 的RSSParser类。

高温高压

于 2010-01-18T17:20:57.110 回答