2

如果代码是为 iPhone 应用程序编写的,就更快的性能和有效的内存管理而言,使用和 as 属性之间NSDictionary哪种方法更好?NSObjectNSStrings

例如,如果应用程序处理解析 XML 文件,如下所示:

< ?xml version="1.0" encoding="utf-8" ?>

<Sync status="1" syncdate="03/04/2009 11:25:34 AM">

< FirstName>AAA< / FirstName>

< MiddleName>BBB< / MiddleName>

< LastName>ZZZ< / LastName>

< Age>28< /Age>

< Gender>Male< /Gender>

< /Sync>

那么,在存储解析值时,如果 XML 文件大小可以稍大一点,哪种方法更有效和更合适?与将相同的解析数据存储到变量中(即具有所有感兴趣节点的属性来存储NSDictionary各自的值。例如将存储“AAA”)的子类?我正在寻找更快的性能以及内存效率。Key=FirstName Value=AAANSStringNSStringNSString *firstNameNSObject

4

3 回答 3

1

在更快的性能和高效的内存管理方面

答案可能取决于您的应用程序 - 您将拥有多少这些对象,您将如何访问它们 - 它们是不是写的多于读的等等。

我会给你一些一般性的建议——先让它工作,然后在需要时优化速度和大小。在编写之前不要优化某些东西。

于 2009-04-06T08:37:23.613 回答
1

就性能而言,没有什么比实际执行测试更好的了。人们已经对 . NSArray,这似乎比预期的更复杂,只是为了性能优化而感到惊讶。

换句话说,如果在您的 XML 文件的未来版本中添加新属性,我会说它NSDictionary比 custom 更灵活。NSObject在 couterpart 中,我还要说NSObject具有明确命名属性的 custom 比NSDictionary.

于 2009-04-06T08:49:45.923 回答
0

不是一个真正的答案:您也可以使用NSArray键值编码,但我不知道与NSObject/相比的性能NSDictionary

但我很确定使用NSObject将是最快的,因为根本没有开销。

于 2009-04-03T08:47:25.050 回答