我正在实施一个持久的纸牌游戏来学习 Core Data 和 MagicalRecord,当我更改牌组中纸牌的顺序时遇到了一个奇怪的问题。这些卡片被实现为一个 NSOrderedSet,这样我就可以保持卡片在卡片组中的顺序。当我更改任何两张卡片的顺序时,当我将它们显示在屏幕上时,它们似乎会持续存在。但是,如果我终止应用程序并显示卡片,则对卡片顺序的更改将丢失。这是我交换两张卡并保存更改的简单代码...
MyDeck *deck = [MyDeck MR_findFirstInContext:managedObjectContext];
[deck.CardsSet exchangeObjectAtIndex:fromIndex withObjectAtIndex:toIndex];
[managedObjectContext MR_saveToPersistentStoreAndWait];
您是否看到在应用程序被终止后这些更改会丢失的任何原因?
提前感谢您的智慧!