如何在iPhone上创建持久存储?

时间:2010-08-31 05:49:12

标签: iphone persistent-storage

我想知道哪种类型的持久存储可以安全地用于iPhone中的存档文件?我的存档文件需要每30分钟更新一次到1小时,我需要保存近500到600个存档文件。

如何在设备上保留如此多的存档文件?哪种持久性存储机制可以更好地使用?

谢谢。

2 个答案:

答案 0 :(得分:2)

如果您真的想选择数据库解决方案,那么我建议坚持使用Apple推荐的产品--CoreData。有一个学习曲线,但在开发人员门户网站上有一些很棒的文档可以让你快速上手。 CoreData抽象数据库,允许您保存和检索对象,而不是编写一堆SQL。

您可能希望查看将文件读/写到Application主目录。有关详细信息,请查看“iOS应用程序编程指南”,其中包含“文件和文件系统”部分。然后,您可以将500个文件直接保存到闪存,而不是使用DB / CoreData解决方案。

  

文件和文件系统

     

每个应用程序都有一个受保护区域   它可以在其中创建和修改   文件。另外,系统允许   应用程序与每个文件共享文件   其他(和用户)通过   明确和安全的手段。   但是,支持那些手段   需要你的工作。该   以下部分描述了类型   您可以进行与文件相关的操作   在您的应用程序中执行。

链接编程指南:

http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/StandardBehaviors/StandardBehaviors.html

答案 1 :(得分:0)

NSUserDefaults是一种为您的应用程序存储少量数据的快捷方式。我们使用NSUserDefaults在iphone中进行持久存储,例如Android中的共享首选项。

存储数据:

// create a standardUserDefaults variable
NSUserDefaults * standardUserDefaults = [NSUserDefaults standardUserDefaults];

// saving an NSString
[standardUserDefaults setObject:@"mystring" forKey:@"string"];

// synchronize the settings
[standardUserDefaults synchronize];

接收数据:

// create a standardUserDefaults variable
NSUserDefaults *standardUserDefaults = [NSUserDefaults standardUserDefaults];

// getting an NSString object
NSString *myString = [standardUserDefaults stringForKey:@"keyToLookupString"];