Подумайте о требованиях.Наиболее важные вопросы, IMO:
- требуется ли вашему приложению получать новые данные при работе в фоновом режиме?
- должно ли ваше приложение реагировать, то есть не вялокогда он получает новые данные?
Я думаю, что ответ на первый вопрос, вероятно, нет.Если вы обновляете представление в зависимости от данных, выборка данных требуется только тогда, когда представление является видимым.Вы не можете гарантировать постоянную загрузку данных в фоновом режиме, потому что iOS всегда может просто убить ваше приложение.В любом случае, с точки зрения вашего приложения, многопоточность не имеет отношения к этому вопросу.Поскольку вы обновляете только на переднем плане или также на заднем плане, вашему приложению требуется не более одного потока.
Многопоточность относится скорее ко второму вопросу.Если ваше приложение должно оставаться отзывчивым при извлечении данных, вам придется запускать извлекающий код в отдельном потоке.Более важно то, что обновление пользовательского интерфейса (например, представлений) должно происходить снова в главном потоке.
Обучение многопоточности в целом является чем-то действительно, но iOS SDK предоставляет большую помощь.Изучение того, как использовать очередь операций (я полагаю, это самое простое в изучении, но не обязательно самое простое в использовании), не займет много дней.Через месяц вы можете определенно завершить работу.
Опять же, однако, подумайте, зачем вам нужна многопоточность.