AsynchronousFetchRequest создаст другой контекст и выполнит выборку в этом контексте. Создание частного контекста означает, что вы можете работать с managedObjects в фоновом контексте, не блокируя основной поток во время выполнения этой работы. Если у вас есть собственный контекст, хотя вам придется перенести ваши управляемые объекты на основной поток самостоятельно, хотя в то время как запрос асинхронной выборки уже делает это. FetchedResutlsControllers необязательно нужен контекст, который является MainQueueConcurrency, но помните, что если его PrivateQueueConcurrency, чем кеш, не будет работать, и вам нужно будет использовать метод performBlock:
для работы с объектами. Пользовательский интерфейс может быть заблокирован при извлечении объектов для FRC, но это не займет много времени. Если вам нужна скорость от основного индекса данных, то ваши объекты сначала. Если вы хотите убедиться, что у вас есть данные перед извлечением, вы можете использовать AsynchronousFetchRequest с countForFetchRequest, чтобы просто вернуть число и действовать соответствующим образом.
На # 2, любое решение для решения * what *? –
Если это должен быть MainQueueConcurrencyType, когда я загружаю данные, пользовательский интерфейс будет заблокирован, как это решить? – Joyann