Iphone NSKeyedArchiver是否在每次存档时覆盖整个文件?

Iphone NSKeyedArchiver是否在每次存档时覆盖整个文件?,iphone,ipad,Iphone,Ipad,我需要存储各种类型的数据,并在不同的时间从应用程序的不同部分进行更新。我的印象是,我可以使用NSKeyedArchiver来完成这项工作,并在必要时使用适当的键更新部分数据……就像数据库一样。似乎每次存档时,NSKeyedArchiver都会覆盖整个文件 NSKeyedArchiver会覆盖整个文件,如果是这样的话,您是否建议使用一种策略来处理这个问题(除了使用SQLLite或CoreData..在下一个版本中,我可能必须升级到这个版本)。我可以将数据分离到不同的文件中,但这似乎需要大量的工作。

我需要存储各种类型的数据,并在不同的时间从应用程序的不同部分进行更新。我的印象是,我可以使用NSKeyedArchiver来完成这项工作,并在必要时使用适当的键更新部分数据……就像数据库一样。似乎每次存档时,NSKeyedArchiver都会覆盖整个文件


NSKeyedArchiver会覆盖整个文件,如果是这样的话,您是否建议使用一种策略来处理这个问题(除了使用SQLLite或CoreData..在下一个版本中,我可能必须升级到这个版本)。我可以将数据分离到不同的文件中,但这似乎需要大量的工作。

是的,NSKeyedArchiver将磁盘上的数据替换为其数据。要实现您想要的功能,可能需要某种数据库解决方案,但不一定是SQLite。您的数据集有多大?重新写入整个过程会这么慢吗?

是的,NSKeyedArchiver会用它的数据替换磁盘上的数据。要实现您想要的功能,可能需要某种数据库解决方案,但不一定是SQLite。您的数据集有多大?重新编写整个过程有那么慢吗?

谢谢Ben。数据集可能会变得相当大,因为它存储的是统计数据,所以我将不得不在某个时候用DB替换存储机制。我不知道重写需要多长时间,因为我无法在iOS平台上快速使用DB解决方案。谢谢Ben。数据集可能会变得相当大,因为它存储的是统计数据,所以我将不得不在某个时候用DB替换存储机制。我不知道重写需要多长时间,因为我无法在iOS平台上快速使用DB解决方案。