2011-09-20 263 views
2

我目前有我的应用程序设置存储在实体称为设置。我的每个设置都是属性。我有一个设置对象,我加载到我的应用程序委托中,并通过整个项目中的委托来访问它。我正在考虑将设置移动到NSUser默认值。我可能不需要设置包,因为我已经在应用程序中设置了一切。除了使用设置包之外,我想知道是否有人能告诉我使用NSUserDefaults对我目前的方法有什么好处?我的选择可以影响/改善应用性能吗?NSUser默认值与应用程序代理的应用程序设置

+0

您的设置对象如何保持每个设置?你的意思是属性而不是属性? – bryanmac

+0

我可能没有行话,对不起。我说属性,因为我将每个设置都设置为核心数据模型中实体的属性,但我确定我的意思是属性。我以这种方式访问​​设置对象属性:[[[[UIApplication sharedDelegate] settings] .showBudgets – SAHM

回答

1

如果有大量的项目需要保存,那么归档或像您目前所使用的plist可能是最好的。

NSUserDefaults的一个优点是可以从任何方法中单独访问和保存特定项目。 NSUserDefaults还支持几种非对象类型。

通常,如果我需要保存基本上大部分类的状态,我将使用归档。

没有理由不使用组合,单独选择每个项目的持久性方法。

通常不会有很大的性能差异。

对于实质性数据选择核心数据。

+0

嗨CocoaFu。你能解释一下你的意思吗?这里自学的程序员.. – SAHM

+0

归档是将一个类实例序列化到磁盘上,以便稍后可以将其读入内存。看一看'NSCoding'协议和苹果文档中归档的各种主题。基本上,通过实现'NSCoding',你可以指定应该如何将一个类中的每个数据写入磁盘并从中读取。然后将数据保存到文件非常容易。 – LucasTizma

+0

卢卡斯谢谢! @JPK我们大多数人都是在iOS上自学。时常读书。也考虑偷偷溜进研究生课程,他们不担任角色,通常在晚上举行,我多次完成。 – zaph

相关问题