我需要一個suggestios關於如何正確實現CoreData的對象,這些對象可以從服務器上傳/下載並通過遊戲中心發送。關於CoreData和對象處理的建議
應用程序是類似於換式卡牌遊戲中,你可以從這些2個獨立的實體的想法:
- 卡:實際獨特的卡所有關於每個人的信息。 「卡的實體是靜態的,不會改變,它們不需要在服務器上發送,因爲我只需要發送」CardId「來拉出」卡「實體。用戶卡:用戶擁有的所有卡片,用戶可以多次擁有相同的卡片,但這將是具有指向基本「卡片」的指針(「卡片ID」)的不同「用戶卡片」。他們總是在變化。他們需要通過GameCenter輕鬆發送並從服務器上傳/下載。此外,當用戶訪問朋友的個人資料以查看他們擁有哪些卡時,需要從服務器下載一些臨時「用戶卡」。
有沒有人有任何建議如何正確地做到這一點?目前我有兩個想法:
A.使用CoreData的一切,這將意味着「用戶卡」是NSManagedObject子類,智能地編碼/解碼(使用NSCoding)上傳/下載並通過GameCenter發送。基本的「卡」被設置爲核心數據中的關係。還爲「用戶卡」設置了「臨時」屬性,以便知道哪些不屬於當前用戶,以便稍後可以刪除它們。
B.僅將CoreData用於基本「卡」,併爲「UserCard」使用NSObject子類。這使我可以直接使用「用戶卡」,而無需將它們插入到CoreData中。使其更容易通過GameCenter下載/上傳和發送。它也消除了對「臨時」屬性的需要,因爲當視圖停止使用它們時,對象將被釋放。這種方法的問題是我需要另一種方式來將當前用戶的「UserCard」存儲在設備中,因爲它們確實需要脫機使用。
謝謝!