【发布时间】:2011-04-06 02:25:11
【问题描述】:
我想知道哪种类型的持久存储可以安全地用于 iPhone 中的存档文件?我的存档文件需要每 30 分钟到 1 小时更新一次,我需要持久化将近 500 到 600 个存档文件。
如何在设备上保存这么多存档文件?哪种持久存储机制更好用?
谢谢。
【问题讨论】:
-
只是想知道使用 Core Data 还是 SQlite DB 更好?
我想知道哪种类型的持久存储可以安全地用于 iPhone 中的存档文件?我的存档文件需要每 30 分钟到 1 小时更新一次,我需要持久化将近 500 到 600 个存档文件。
如何在设备上保存这么多存档文件?哪种持久存储机制更好用?
谢谢。
【问题讨论】:
NSUserDefaults 是一种为您的应用存储少量数据的快速简便的方法。我们在 iphone 中使用 NSUserDefaults 进行持久存储,就像 Android 中的 Shared Preference 一样。
存储数据:
// 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"];
【讨论】:
如果您真的想选择数据库解决方案,那么我建议您坚持使用 Apple 推荐的 - CoreData。有一个学习曲线,但开发人员门户上有一些很棒的文档,可以让你快速上手。 CoreData 对 DB 进行了抽象,允许您保存和检索对象,而不是编写一堆 SQL。
您可能希望查看在应用程序主目录中读取/写入文件。有关更多信息,请查看“iOS 应用程序编程指南”,其中包含“文件和文件系统”部分。然后,您可以将 500 个文件直接保存到闪存中,而不是使用 DB/CoreData 解决方案。
文件和文件系统
每个应用程序都有一个保护区 它可以在其中创建和修改 文件。此外,该系统允许 应用程序与每个共享文件 其他(和用户)通过 定义明确且安全的方法。 然而,支持这些手段 需要你的工作。这 以下部分描述了这些类型 您可以进行的与文件相关的操作 在您的应用程序中执行。
编程指南链接:
【讨论】: