0

我的应用程序需要在不同时刻在某些单词的单数和复数版本之间进行转换。因此,我有一本字典,其中键是单数版本,值是复数版本。

我想知道在必要时重新初始化这本字典的最佳方法是什么。在我看来,我有两个选择:

  1. 将此数据存储在 plist 中并从 plist 重新初始化字典
  2. 为 NSDictionary 创建一个包装器对象,该对象仅具有单个 NSDictionary 属性,其值在init方法中设置。

我的猜测是#2 更快,但感觉不是很优雅。最终,子类化 NSDictionary 似乎是正确的方法,但是一旦我发现 NSDictionary 实际上是一个类集群,我就选择不这样做。

4

2 回答 2

1

字典会很大吗?如果是这样,为什么不在您的应用程序激活时将其初始化为实例变量并且不释放它。另外,我对您的第二个选项和您的评论感到困惑。您在选项中提到您将为 NSDictionary 创建一个包装器对象,但随后您说您将对其进行子类化。我不确定您是否只是感到困惑或什么,但是您的第二个选项(通过创建具有 1 个 NSDictionary 的包装器对象并初始化 init 中的值)对我来说似乎也是可行的。最终,任何选项都应该没问题,只要它不会过多地影响您的应用程序的性能。

于 2012-07-22T01:32:18.270 回答
0

您可以使用NSKeyedArchiver将其序列化/存储到磁盘并使用NSKeyedUnarchiver将其读回。

于 2012-07-22T02:03:19.890 回答