我的应用程序中有一些数据结构,我需要在收到'didReceiveMemoryWarning'通知后坚持。该数据是用户使用应用程序(这是一款游戏)执行的所有操作的运行日志。在低内存上存储iphone应用程序数据
我拥有的数据可能不是很少(可能>几百KB),因此plists不会似乎不是正确的解决方案。
两种可能性中的第一种是归档对象并使这些对象支持NSCoding协议。我不确定这是否是正确的选择路径。
第二个选项似乎与CoreData,使用NSManagedObjectModel和NSPersistentStoreCoordinator。这是存储这些对象的好方法吗?或者它是矫枉过正? (我使用苹果公司的'食谱'示例应用程序作为参考)。
我的对象是最终容纳NSString,NSNumber,NSInteger和其他简单类型的自定义对象类型。一些数据类型我有
样品:
// this the base object I need to start with to persist
@interface MyDataObject : NSObject
{
MyScore *aScore;
// Contains an object of type 'MyAction'
NSMutableArray *allActions;
}
@interface MyScore : NSObject
{
NSInteger currentScore;
NSDate lastUpdated;
}
@interface MyAction
{
NSNumber *actionId;
NSString *description
MyUser *associatedUser;
}
@interface MyUser
{
NSNumber *id;
NSString *name;
NSString *email;
}
用户可以玩了一堆不同的游戏,每场比赛,我有什么动作,他们已经做了一个活动日志。用户在玩游戏时可以看到他们在每场比赛中所做的移动,他们还可以在活动的&非活动游戏之间切换,以便他们也可以查看过去的移动。
这将是相关的发布你要使用的数据。如何访问/检索数据将影响哪个更好的解决方案。 – Jacob 2009-08-25 11:03:07
修改了我的原始文章以包含此信息。 – 2009-08-25 17:54:00