2012-07-26 94 views
1

我有一个应用程序跟踪用户,因为他们开车。它使用CLLocationManager,每次调用didUpdateToLocation时,都会保存CLLocation点。NSUserDefaults和保存大小

大约25英里的行程产生1200点附近的某处。

截至目前,我将这些点数保存到用户测试的默认值。我应该看看CoreData来妥善保存这些信息吗?或者可能只是将所有内容写入文件?

我的问题是,可以NSUserDefaults“max out”?我可能有数百个保存的数组,每个数组都有成千上万个CLLocation点。

任何建议将非常感激。

回答

3

无论用户大小默认,它都不是为此目的而设计的。顾名思义它应该用于保存标志和变量来定制或保存用户的会话细节。即使核心数据确实为此提供了一个优雅的解决方案,并且是最高效的解决方案。如果你不想处理这个问题,你将不得不创建自己的文件并将其保存在那里。这也很简单。不过我建议coredata,如果你打算扩展可能性,比如多用户,不同的运行,很多属性等等,因为它是一种真正的数据库方式。

http://www.raywenderlich.com/934/core-data-on-ios-5-tutorial-getting-started

编辑:没有限制用户的默认大小。尽管如此,如果你通过苹果文档,你会看到它不是为了你描述的目的。

http://www.iphonedevsdk.com/forum/iphone-sdk-development/38091-size-limitations-with-nsuserdefaults.html

+0

我陷害了。感谢您的反馈意见。我只使用默认值进行测试。谢谢你的链接! – random 2012-07-26 02:11:02