Core Data と MagicalRecord を学習する永続的なカード ゲームを実装していますが、デッキ内のカードの順序を変更すると奇妙な問題が発生します。カードは NSOrderedSet として実装されているため、デッキ内のカードの順序を保持できます。任意の 2 つのカードの順序を変更すると、それらを画面に表示したときに保持されているように見えます。ただし、アプリを強制終了してカードを表示すると、カードの順序の変更が失われます。2枚のカードを交換して変更を保存するための私の簡単なコードは次のとおりです...
MyDeck *deck = [MyDeck MR_findFirstInContext:managedObjectContext];
[deck.CardsSet exchangeObjectAtIndex:fromIndex withObjectAtIndex:toIndex];
[managedObjectContext MR_saveToPersistentStoreAndWait];
アプリが強制終了された後にこれらの変更が失われる理由がわかりましたか?
あなたの知恵を前もってありがとう!