Iphone 应用程序设置的NSUser默认值与应用程序代理

Iphone 应用程序设置的NSUser默认值与应用程序代理,iphone,core-data,settings,nsuserdefaults,appsettings,Iphone,Core Data,Settings,Nsuserdefaults,Appsettings,我当前将我的应用程序设置存储在名为“设置”的实体中。我的每个设置都是一个属性。我在应用程序委托中加载了一个设置对象,并在整个项目中通过委托访问它。我正在考虑将设置移动到NSUser默认值。我可能不需要设置包,因为我已经在应用程序中设置了所有内容。除了使用设置包之外,我想知道是否有人能告诉我使用NSUserDefaults比我当前的方法有什么好处?我的选择是否可以影响/提高应用程序的性能?如果要保存大量项目,那么归档或像您目前这样的plist可能是最好的选择 NSUserDefaults的一个优点

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

如果要保存大量项目,那么归档或像您目前这样的plist可能是最好的选择

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

通常,如果我需要基本上保存大多数类状态,我将使用归档

没有理由不使用组合,请分别选择每个项目的持久性方法

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


对于大量数据,请选择核心数据。

您的设置对象如何保存每个设置?你是说属性而不是属性吗?对不起,我可能没有记下这个术语。我之所以说属性,是因为我将每个设置都设置为核心数据模型中实体的属性,但我确信我指的是属性。我通过以下方式访问设置对象属性:[[UIApplication sharedDelegate]设置].showBudgetsHi CocoaFu.你能解释一下存档是什么意思吗?这里是自学成才的程序员..存档是将类实例序列化到磁盘,以便以后可以读入内存。看看
NSCoding
协议以及苹果文档中有关存档的各种主题。基本上,通过实现
NSCoding你指定一个类中的每一个数据应该如何被写入和从磁盘上读取。然后很容易把你的数据保存到一个文件中。卢卡斯谢谢!JPK我们大多数人都是在iOS上自学的。阅读很多。也考虑偷偷进入研究生课程,他们不承担角色,通常在晚上举行,我做了好几次。谢谢。ys!我肯定还有更多的学习要做,尽管曲线变得不那么陡峭。现在我似乎应该坚持使用通过app delegate访问的设置对象,因为在性能方面使用NSUserDefaults并没有很大的优势,而且我现在所拥有的对我有用。最终,我希望在学习新的设置时对其进行更改nd更好(更干净!)的编码方式。感谢您的输入。