Search code examples
iosmultithreadingnsfetchrequest

NSFetchRequest returns old data even though the database is updated


I'm working on a Multi-threaded application that uses Coredata.

When i save some data on one thread it goes to the database but when I try to fetch it from a different thread once the data is saved to the database, the fetch request returns the old data.

Any suggestions on how to fix this?


Solution

  • This was an issue due to the MOC merge policy. I have used NSMergeByPropertyObjectTrumpMergePolicy earlier and switching to NSMergeByPropertyStoreTrumpMergePolicy fixed the issue. Keep in mind, this should be picked according to your need.