Does it mean, when I want to observe changes into Results<> collection in main thread I MUST fetch the collection in the main thread as well? Is there any pattern to keep all database operations in background but still having the possibility to access managed objects from the main thread? As I know using dedicated dispatch queue is also not 100% secured solution while the same queue can be handled by different threads in background.
I collect some objects in background and then pass them to the main thread for visualisation. I will NOT change anything.
Shall I iterate still in the background thread and make collection of ThreadSafeReference instances which I finally pass back to the main or I can just pass the query results keeping in mind that I use them in read-only mode?