1

假设我有一个带有名为标签的 xml 文件,其中包含我想在我的 tableView 中显示的字段数,在另一个 xml 文件中我有要在该 tableView 中显示的信息。

问题是:我应该在我的项目中创建 2 个不同的文件(xmlparse1.h 和 .m + xmlparse2.h 和 .m)还是应该将所有代码放入 1(xmlparse.h + .m)并区分哪个文件我现在正在用代码中的 bool 或类似的东西进行解析?

如果这可能会改变,我正在 Xcode 4.3 mac os x 10.7.4 上开发一个 iphone 应用程序

编辑:第一个文件:

<MenuPrin>
<humidite>82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0</humidite>
<tempmoy>
189,124,700,700,700,700,700,700,700,700,700,700,700,700,700,700,700,700,700,700
</tempmoy>
</MenuPrin>

第二个文件:

<Instal>
<nbrField>2</nbrField>
</Instal>

所以它看起来像这样。因此,由于 nbrField 为 2,我将从 tempMoy 和 humanite 中获取第 2 个值并将它们显示在 tableView 中。

编辑结束

4

2 回答 2

2

如果您在两种情况下的解析方式相似,那么添加两组有效地执行相同操作的文件将是非常低效的,并且被认为是不好的做法。创建一个可以处理两个不同文件的解析器比编写两个只能处理一个特定文件的解析器更有意义。

为了更具体地回答您的问题,我将确定您正在解析哪个文件并做出相应的行为,无论您是使用 bool 还是其他什么都取决于您。

编辑:这是我脑海中突然出现的想法,因此,如果出于某种原因这对您不起作用(就像我说的已经有一段时间了),或者有人有更好的想法,我会全力以赴。您仍然可以拥有一组包含解析器定义的文件(.h 和 .m)。您的解析器可以在其中包含两个类型为 Object1 和 Object2 的变量,它们的构建方式类似于您需要存储您为第一种类型的文件解析一次的数据结构,并为您的第二种类型的文件存储不同的定义文件类型。这样,当您确定您正在读取哪个文件后进行解析时,它只会更改您写入的这两个对象中的哪一个。您如何设置它也有很多变化,我还可以考虑一些您可能尝试做的事情,而这可能不起作用,

If you think that the two sets of files approach is better for the application you are trying to write and makes more sense to you, given what has been discussed in the comments, it isn't necessarily a bad idea.

于 2012-07-09T14:16:36.323 回答
1

如果您想在一个视图中创建两个表视图,则需要创建一个 .h 和 .m 文件...如果您想创建单独的表视图,您需要创建两个 .h 和 .m ...

尝试 TBXML 解析器...这是 xmlparsing 最简单的方法和更少的内存使用...

于 2012-07-09T14:16:27.707 回答