Описание тега dispatch-queue

1 ответ

Swift - обновлять ярлыки в реальном времени

У меня сложный набор математики, который занимает несколько секунд (и это на более быстрых iPhone). Чтобы заинтересовать пользователя и поверить, что программа не спит, мне нужно обновить метки / номера в реальном времени. Исторически я бы использов…
13 июл '18 в 08:31
3 ответа

Свифт продвигает несколько задач?

У меня есть этот ярлык, который должен отображать имя пользователя. Сейчас я довольно много занимался разработкой IOS, однако многопоточность для меня все еще немного неясна. Как бы убедиться, что этот код заканчивается: User(name: "", email: "", _i…
16 окт '17 в 19:47
1 ответ

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

Обычно я могу использовать DispatchGroup отслеживать задачи в нескольких диспетчерских задач. Но для того, чтобы убедиться, DispatchGroup работает правильно, group.notify метод должен быть вызван после всех group.enter призваны для всех tasks. Вопро…
1 ответ

Работает ли код на DispatchQueue.main.async медленнее?

При создании метки, которая использует данные из API в замыкании, которое возвращает данные из этого API: APIData().getRequest(epicGamesUsername: "test") { (output) in DispatchQueue.main.async { let winsLabelForProfile = Label().createLabel(labelTex…
12 апр '18 в 01:40
1 ответ

Ошибка с очередью отправки Swift

Я пытаюсь создать генетический алгоритм для запуска гоночных автомобилей по гоночной трассе. Каждый автомобиль получает случайные инструкции, которые применяют силу к автомобилю и поворачивают автомобиль на определенное количество градусов. Чтобы ра…
17 фев '18 в 12:15
0 ответов

PeriodicTimeObserver & Animation

У меня есть AVPlayer и UIView в UICollectionViewCell. UIView перемещается при нажатии. Если я добавляю periodTimeObserver(нажмите кнопку воспроизведения изображения), UIView вернется в исходное положение. Как я могу это исправить? https://im4.ezgif.…
17 ответов

Как использовать фоновый поток в Swift?

Как использовать потоки в Swift? dispatchOnMainThread:^{ NSLog(@"Block Executed On %s", dispatch_queue_get_label(dispatch_get_current_queue())); }];
05 июн '14 в 09:16
1 ответ

Android: очередь отправки

Я создаю приложение, которое будет делать веб-запрос каждый раз, когда вы сканируете QR-код. Если у вас есть доступ в Интернет, сделать этот запрос легко. Если у нас нет интернета, я хочу поставить его в очередь и делать такие запросы всякий раз, ко…
2 ответа

Является ли следующее безопасным использование dispatch_set_target_queue()?

То, что я хочу сделать, это создать косвенную очередь, ориентированную на основную очередь. dispatch_queue_t myQueue = dispatch_queue_create("com.mydomain.my-main-queue", NULL); dispatch_set_target_queue(myQueue, dispatch_get_main_queue()); Моя коне…
2 ответа

Работа с несколькими обработчиками завершения

Я пытаюсь согласовать несколько обработчиков завершения для каждого элемента в массиве. Код по сути такой: var results = [String:Int]() func requestData(for identifiers: [String]) { identifiers.forEach { identifier in service.request(identifier, com…
0 ответов

Порядок выполнения фоновых задач в swift

Я пытаюсь сохранить некоторые данные локально, а затем загрузить их на сервер, когда приложение переходит в фоновый режим. При локальной записи данных я запускаю некоторые фоновые задачи, чтобы их нельзя было прервать, введя фон. func writeData() { …
08 ноя '18 в 21:24
3 ответа

Правильный способ последовательного выполнения асинхронных операций

Мне нужно выполнить асинхронную операцию для каждого элемента в массиве, по одному за раз. Эта операция перезванивает в основной очереди. func fetchResults(for: array, completion: () -> Void) { var results: [OtherObject]: [] let queue = DispatchQ…
2 ответа

Почему блок кода синхронизации всегда вызывается в главном потоке?

Я сделал простой тест с DispatchQueue: DispatchQueue.global(qos: .background).sync { if Thread.isMainThread { print("Main thread") } } Распечатано: Main thread Почему этот код выполняется в главном потоке? Это должно быть выполнено в фоновом потоке …
23 окт '18 в 16:37
1 ответ

DispatchQueue: нельзя вызывать с asCopy = NO в неосновном потоке

Я представляю UIAlertController в основном потоке как: class HelperMethodClass: NSObject { class func showAlertMessage(message:String, viewController: UIViewController) { let alertMessage = UIAlertController(title: "", message: message, preferredSty…
1 ответ

Многопоточность выполнения нескольких задач параллельно в быстром IOS

Я знаю создание очередей и могу выполнить одну задачу, но как я могу выполнить несколько задач параллельно. Одновременная очередь ----> let concurrentQueue = DispatchQueue(label: "com.some.concurrentQueue", attributes: .concurrent) concurrentQueue.a…
26 апр '18 в 12:00
1 ответ

Когда я обновляю свой пользовательский интерфейс в ответ на асинхронное действие, где я должен вызвать DispatchQueue?

В моем приложении для iOS я делаю много веб-запросов. Когда эти запросы выполняются / не выполняются, запускается метод делегата в контроллере представления. Метод делегата содержит код, который отвечает за обновление пользовательского интерфейса. В…
3 ответа

iOS Swift Timer не запускается, если приложение находится в фоновом режиме

Я занимаюсь разработкой библиотеки Cocoapod, в которой мне нужно вызывать функцию при срабатывании таймера. Я использую этот Cocoapod в приложении для iOS, таймер не срабатывает, когда приложение переходит в фоновое состояние private var timer : Dis…
28 мар '18 в 05:39
4 ответа

Получение задержки в обновлении элементов управления пользовательского интерфейса, когда некоторая обработка выполняется в DispatchQueue.main.async

Попытка обновить элементы управления пользовательского интерфейса из закрытия DispatchQueue.main.async, которое выполняет некоторую обработку и занимает несколько сотен миллисекунд или более, приводит к задержке в обновлении меток пользовательского …
05 янв '18 в 16:56
1 ответ

Создать очередь ожидания для выполнения анимации

В настоящее время я работаю над быстрой анимацией. Эта анимация запускается другой функцией в нестационарных временных интервалах (подключается к серверу). Анимация занимает 2 секунды, но возможно, что она запускается до того, как закончится. Вот по…
09 ноя '18 в 13:04
1 ответ

Синхронная обработка с DispatchQueue в Swift

У меня есть метод, который выполняет обработку событий, которые я получаю от сервера. Метод может быть вызван из нескольких мест в разных классах. Я хочу синхронизировать обработку событий, используя DispatchQueue/Serial Queue, чтобы отбросить повто…