我有一个包含大量私人消息(PM)的数据库。 PM可以存储在不同的文件夹中,如电子邮件(发送,收件箱,文件夹)等。 简而言之:我想在我的数据库中为我的私人消息重建iPhone电子邮件应用程序,我可以通过JSON查询获得(包装器已经实现并且工作正常)。
如何重建?
我想要的功能是PM应该存储在iphone上的一种缓存中,这样用户就可以在不使用互联网的情况下阅读它们。
任何想法,如何重建设计以及如何添加此缓存功能?
答案 0 :(得分:3)
Mail.app使用UINavigationController
来浏览多个视图。
UITableViewController
。UITableViewController
显示UIToolbar
。UITableViewController
显示UIToolbar
。UIViewController
由UIWebView
(显示实际邮件)和UIToolbar
组成。您应该为您编写的每个课程实施NSCoding
(类似KVMail
,KVAccount
等)。
然后,当'数据库'被更改后,您将NSUserDefaults
中的所有记录保存起来,如下所示:
NSArray *accounts;
- KVAccount *someAccount;
- NSArray *mails;
- KVMail *mail;
- KVMail *mail;
- KVMail *mail;
假设您的设计看起来像这样(所以帐户数组,其中每个帐户都包含一系列邮件)。
实施NSCoding
时,您可以像这样保存数据库:
[[NSUserDefaults standardUserDefaults] setObject:[NSKeyedArchiver archivedDataWithRootObject:accounts] forKey:@"database"];
现在,当用户再次启动应用程序时,您可以通过执行以下操作将其重新加载到RAM中:
NSArray *accounts = [NSKeyedUnarchiver unarchiveObjectWithData:[[NSUserDefaults standardUserDefaults] objectForKey:@"database"]];