In my iOS app I have a Managed Object Context for the background thread, and the main thread. The problem is that my core data call to get a certain entity can take about 3-5 seconds and would be horrible to keep on the main thread but when I put it on the background thread on a separate Managed Object Context just for retrieving data on the background thread that is just for retrieving data in the background I get deadlocks.
My question is: Is there a way that I can use multiple Managed Object Contexts in the background thread? Should what I am doing right now work and I am just doing something wrong somewhere like passing objects between contexts (I have checked for that I didn't see anything)?