我需要一个关于如何使用可以从服务器上传/下载并通过游戏中心发送的对象正确实现CoreData的建议。
该应用类似于交易卡游戏,您可以从这两个独立的实体中获取想法:
有没有人对如何正确执行此操作有任何建议?目前我有两个想法:
一个。将CoreData用于所有内容,这意味着“UserCard”是NSManagedObject子类,可以通过GameCenter进行智能编码/解码(使用NSCoding)上传/下载和发送。基本“卡”被设置为核心数据中的关系。还为“UserCard”设置了“临时”属性,以便能够知道哪些不属于当前用户,以便以后删除它们。
B中。仅将CoreData用于Basic“Card”,并将“NSObject”子类用于“UserCard”。这允许我直接使用“UserCard”而无需将它们插入CoreData。通过GameCenter下载/上传和发送更容易。它还消除了对“临时”属性的需要,因为当视图停止使用它们时,将仅释放对象。这种方法的问题是我需要另一种方法将当前用户的“UserCard”存储在设备中,因为它们确实需要离线使用。
谢谢!
答案 0 :(得分:2)
就个人而言,我会全身心地使用CoreData。理由:
-(NSDictionary*)jsonRepresentation
的简单方法,并将UserCard格式本身放入字典中并返回自身。超级容易。 我刚刚完成了一个使用CoreData的大型项目,所以我可能有点偏颇。根据你在问题中的陈述,我会把CoreData用于一切。在处理CoreData和Web服务器时,以下是一些有用的开源库:
And a great tutorial for integrating CoreData with a web server.