Основная причина выполнения интенсивных операций в фоновом потоке / операции заключается в том, что пользовательский интерфейс работает в переднем / основном потоке.Если в основном потоке выполняется интенсивная операция с базовыми данными, пользовательский интерфейс будет не отвечать и, возможно, заставит пользователя думать, что приложение зависло или зависло.Поскольку большинство приложений повсюду демонстрируют, по крайней мере, некоторое движение при интенсивной работе, пользователь был обучен ожидать, что не отвечающий или статический пользовательский интерфейс указывает на сбой или зависание.
Мобильные пользователи также намного более чувствительны к времени ожидания.Если вы сидите за своим столом и потягиваете чашку кофе, 45-секундная пауза кажется недолгой.Если вы идете через аэропорт, это так.
Удаление интенсивных операций из основного потока позволяет пользовательскому интерфейсу продолжать функционировать.В некоторых случаях это означает, что пользователь может продолжать работать, в других это означает, что вы можете динамически обновлять пользовательский интерфейс, чтобы сообщить, что приложение работает над интенсивной операцией, и поэтому пользователь должен ждать.
Это существенно влияет на то, как пользователи воспринимают качество и удобство использования вашего приложения.
Сказав это, я не буду беспокоиться об использовании фонового потока / операций, пока вы не протестируете приложение и не обнаружите, что Core Data не может обрабатывать обработку в основном потоке.В подавляющем большинстве случаев это возможно.Медленные загрузки с серверов, вероятно, являются основной причиной необходимости фоновых операций.Если у вас их нет, скорее всего, у вашего приложения не будет серьезного фона.