我的應用程序中有一些數據結構,我需要在收到'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