Описание тега dispatchgroup

Группа задач, которые вы отслеживаете как единое целое на языке Swift от Apple.
1 ответ

Swift - запускать 1000 асинхронных задач со спящим через каждые 50 - как общаться между собой DispatchGroups

Мне нужно выполнить 1000 асинхронных вычислений. Поскольку у API есть ограничение в 50 запросов / мин, мне приходится разбивать его на блоки по 50 и ждать минуту после обработки одного блока. В конце концов я хочу распечатать результаты. resultsArra…
11 фев '20 в 02:58
0 ответов

Получение этой ошибки при добавлении новых данных ... Поток 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)

Поэтому, когда я загружаю свое приложение в первый раз и добавляю свой первый фрагмент данных, tableView перезагружается, и разделы / строки добавляются правильно, но когда я ввожу какие-либо дополнительные данные после этого, новый данные добавляют…
1 ответ

Почему DispatchGroup работает некорректно

Я хочу, чтобы функция ждала, пока первая функция сначала получит данные из firebase, а затем выполнит вторую, но оказывается, что она не работает в правильном порядке func getMenuData(){ getMenu() getIngredient() getRecipe() self.dispatchGroup.notif…
03 май '20 в 18:34
1 ответ

Добавление зависимости одного BlockOperation от другого не работает должным образом в быстром

У меня есть несколько api в контроллере, и после успешного ответа мне нужно перезагрузить UITableView. На данный момент я начал с двух api, имеющих вторую зависимость api от первого, используя BlockOperation а также DispatchGroup в этом. Первый в vi…
28 янв '20 в 18:45
1 ответ

Преимущество использования DispatchGroup по сравнению с базовым классом счетчиков

У меня есть ситуация, когда мне нужно дождаться завершения группы задач, прежде чем выполнять некоторый код рендеринга пользовательского интерфейса. Некоторые из этих задач представляют собой сетевые запросы, которые всегда завершаются и покидают гр…
06 фев '20 в 15:29
2 ответа

Как последовательно запустить функцию в цикле for

У меня есть набор кнопок в виде стека. Каждая кнопка при нажатии воспроизводит другой звук. У меня есть отдельная кнопка (кнопка цикла), которая при нажатии вызываетloopButtonPressedфункция. Моя цель состоит в том, чтобы при нажатии этой кнопки цикл…
0 ответов

Ошибка тестирования при добавлении DispatchGroup

У меня есть несколько тестов, которые начали давать сбои с тех пор, как я представил DispatchGroup. Пройдите простой тест, например: func test_loading_indicator_is_visible_only_when_loading_profile() { let (sut, spy) = makeSUT() let profile = makePr…
08 апр '20 в 18:49
0 ответов

обновление нескольких коллекций firestore в цикле

Я пытаюсь обновить несколько коллекций, приведенный ниже код обращается к getDocument только к последнему элементу в массиве, я попытался решить проблему, поместив getDocument в новую функцию и используя обработчик завершения и dispatchGroup. pp.ord…
1 ответ

Как использовать Dispatch Group в цикле с асинхронной функцией Swift?

Я проверил все вопросы по этой теме, но ни один из них не помог. У меня есть код, как показано ниже. Теперь, как только код попадает вfor id in stringArray цикл, он выполняется для stringArray.countраз, даже не входя в асинхронную часть firestore. Э…
25 июл '20 в 22:38
1 ответ

Вызов двух API и структуры сборки - iOS - Swift

Я знаю, что это обычное дело, но не нашел ответов. Я думал об использовании dispatchGroups, но не знал, как это сделать Требование: API 1 дает идентификатор, мне нужно создать URL-адрес с этим идентификатором и вызвать другой API для получения image…
19 авг '20 в 02:40
1 ответ

Как остановить цикл for для асинхронного запроса Swift 5

Вот функция, которую я хочу, чтобы цикл for ждал завершения от func getVenueDetails, и если завершение истинно, выйдите из цикла, а если нет, продолжите со следующим идентификатором места проведения. func searchVenues(lat: Double, lng: Double) { let…
1 ответ

Как сделать общий ресурс потокобезопасным при использовании диспетчерской группы?

У меня есть класс User, который нужно обновлять каждый раз, когда пользователь открывает приложение. class User : NSObject, NSCoding { var vehicles : [Vehicles] var bankaccounts : [BankAccounts] var friends : [Friends] } На моем домашнем экране View…
3 ответа

Как заставить цикл for-in ждать завершения функции выборки данных

Я пытаюсь получить кучу данных с помощью функции цикла for in, но она не возвращает данные в правильном порядке. Похоже, что для получения некоторых данных требуется больше времени, поэтому они смешаны в массиве, где мне нужно, чтобы все данные были…
20 авг '20 в 10:27
1 ответ

Использование DispatchGroup или некоторой конструкции concurency для последовательной загрузки данных и заполнения ячеек в UITableViewController

Платформа: Я использую Swift 4 и xcode 11.4 Пример использования и желаемое поведение Приложение загружает фид, содержащий потенциально 100 или 1000 элементов, скажем, 500 элементов. 500 предметов будут взяты после использованияAmplifyс GraphQLзапро…
25 апр '20 в 22:53
2 ответа

Выполнить цикл for с необязательными асинхронными вызовами по порядку

У меня есть function для получения некоторых данных, которые я делаю с помощью for-loop. Внутри этого возможно, чтоasynchronous functionназывается, но не обязательно. Я также стреляюcompletion после loop закончено, что я делаю с DispatchGroup. Пробл…
2 ответа

Swift - необходимо вызывать continue при выходе из группы dispatchGroup

У меня есть группа объектов, которые мне нужно перебирать, используя for-loop и DispatchGroup. При выходе из группы внутри for-loop, звонит continue необходимо? let group = DispatchGroup() for object in objects { group.enter() if object.property == …
0 ответов

Использование DispatchGroup в цикле for в Swift

У меня есть цикл for, который содержит асинхронный вызов для каждого элемента в цикле. Я пытаюсь написать свой код, чтобы после завершения всех этих вызовов я отправлял уведомление. Я просмотрел эти темы SO: группа отправки: for-loop * и * async-выз…
1 ответ

Swift - Почему DispatchGroup не работает в этой функции?

Я жду idToken ответ перед возвратом переменной. Пожалуйста, не говорите мне просто использовать обработчик завершения и вызывать его без DispatchGroup. Я знаю, что могу это сделать, но я пытаюсь понять, почему эта логика не работает. func createToke…
11 ноя '20 в 02:21
2 ответа

Код Swift запускается дважды, хотя и не должен

У меня есть функция экранирования, которая завершается при выполнении условия: private func xxxfastLoadLSecurityDescriptions(session: URLSession, mySymbols: [String]?, completion: @escaping(Bool) ->()) { var counter = mySymbols?.count ?? 0 if cou…
11 ноя '20 в 21:05
0 ответов

Зачем использовать Swift DispatchGroup для загрузки ЦП до 1000%?

У меня есть код, который асинхронно вызывает внешнюю библиотеку для чтения ключевых слов EXIF ​​из файлов изображений: func readKeywords() { keywordsForSelectedItems.removeAll() let group: DispatchGroup = .init() let queue: DispatchQueue = .init(lab…
17 окт '20 в 12:19