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

Очередь операций — это традиционная технология Apple для асинхронного управления очередью ожидающих выполнения задач с контролем приоритетов, зависимостей, степени параллелизма, отмены и позволяет управлять очередью задач, которые сами по себе являются асинхронными.
0 ответов

Прогресс отслеживания SFSpeechRecognizer не работает

У UIProgressView есть свойство с именем НаблюдаемыйПрогресс (тип: Progress), а у SFSpeechRecognizer есть очередь (тип: OperationQueue) и очередь имеет прогресс (тип: Progress), поэтому я пытаюсь передать его в представление прогресса, но не работает…
1 ответ

Как поставить в очередь операции CKO для разных баз данных CK

Я создаю 2 операции, скажем CKModifySubscriptionsOperation. Один для частной, другой для общей базы данных. Я мог бы поставить их в очередь, добавив в OperationQueue, каждый следующий запускался бы после предыдущего блока завершения. let operationQu…
04 авг '20 в 21:18
0 ответов

Доступные, но недоступные функции в OperationQueue в Swift

MacOS Swift Project, но для iOS. Я нацелен на 10,14 У меня OperationQueue. Я хочу запланировать выполнение операции позже. Достаточно просто... func schedule(after date: OperationQueue.SchedulerTimeType, interval: OperationQueue.SchedulerTimeType.St…
18 авг '20 в 21:46
2 ответа

Обновление пользовательского интерфейса при работе с OperationQueue

У меня есть следующая настройка очереди операций: let queue = OperationQueue() queue.name = "com.company.myQueue" queue.qualityOfService = .userInitiated queue.maxConcurrentOperationCount = 64 ... var current = 0 var totalCount = someArray.count for…
28 май '20 в 17:08
1 ответ

печатать от 1 до 10 в OperationQueue не печатать целое число

Я изучаю Combine Scheduler, и у меня есть этот пример кода из книги Raywenderlich let queue = OperationQueue() let subscription = (1...10).publisher .receive(on: queue) .sink { value in print("Received \(value) on thread \(Thread.current.number…
04 ноя '20 в 07:58
0 ответов

Попытка загрузить несколько файлов в AWS с помощью AWSS3TransferUtility в фоновом режиме

У меня есть ситуация в моем приложении, когда мне нужно загрузить несколько файлов размером от 10-50+- (небольшой размер, около 5 МБ), а также при необходимости поддерживать работу в фоновом режиме. На этом этапе я могу отлично выполнять загрузку, п…
13 мар '21 в 11:34
1 ответ

Напишите xctest для функции внутри очереди операций

У меня есть следующая функция, которая добавляет операцию в очередь операций, как мне протестировать блок кода, который добавляется в очередь операций, я попытался использовать ожидание, передав шпион наблюдателя аналитики и проверить, установлено л…
26 июл '21 в 06:26
1 ответ

Как использовать OperationQueue с асинхронными функциями?

Мне нужно запустить несколько функций, и порядок, в котором они выполняются, очень важен. У меня есть две неасинхронные функции, которые необходимо запустить, а затем две асинхронные функции, которые необходимо выполнить после этого. Все функции дол…
25 авг '21 в 00:58
1 ответ

Создание подкласса OperationQueue для добавления периода сна

import Foundation class MyOperationQueue { static let shared = MyOperationQueue() private var queue: OperationQueue init() { self.queue = OperationQueue() queue.name = "com.myqueue.name" queue.maxConcurrentOperationCount = 1 queue.qualityOfService …
11 мар '21 в 15:26
1 ответ

Опубликовать `operationCount` из operationQueue внутри актора?

У меня есть актер: actor MyActor { let theQueue = OperationQueue() init() { _ = theQueue.observe(\OperationQueue.operationCount, options: .new) { oq, change in print("OperationQueue.operationCount changed: \(self.theQueue.operationCount)") } } .... …
30 сен '21 в 00:26
0 ответов

iOS: OperationQueue.schedule(после: Date), который не может быть запущен при изменении даты

Проблема Мне нужно получить обратный вызов, когда прошло не менее X времени с момента установки даты обратного вызова. Пример 1: Это сработало бы отлично, но можно запустить выполнение блока, установив дату раньше правильного времени прямо сейчас: l…
22 ноя '21 в 19:24
2 ответа

Можно ли использовать асинхронные операции с `progress` в OperationQueue?

Начиная с iOS13, можно отслеживать ход выполнения OperationQueueиспользуя имущество. В документации указано, что при отслеживании прогресса учитываются только операции, которые не переопределяются. Однако асинхронные операции должны переопределять, …
31 янв '22 в 02:34
1 ответ

Соблюдать количество операций в очереди URLSession?

я использую URLSessionнастроить таким образом: public struct NetworkSession { public var session: URLSession public let sessionOperationQueue = OperationQueue() public init() { let sessionConfiguration = URLSessionConfiguration.default sessionConfig…
0 ответов

Как прервать Thread.sleep. Альтернативы?

Я реализовал операцию в OperationQueue. override func main() { super.main() if isCancelled { return } if member.memberType == .timed { triggerRestEvent(duration: member.restDuration) } if isCancelled { triggerEndEvent() } } В triggerRestEventфункция…
30 май '22 в 08:21
0 ответов

OperationQueue с пользовательским `maxConcurrentOperationCount` не берет/выполняет все операции в очереди после завершения первой операции

Я уверен, что с моей логикой что-то не так, просто не могу понять, что это такое. Есть класс "Сервис", который имеет очередь операций: class Service { let queue: OperationQueue = { var queue = OperationQueue() queue.name = "my.operationQueue" queue.…
23 мар '22 в 21:13
0 ответов

OperationQueue - сбой при редактировании одного и того же массива из нескольких операций

У меня есть несколько пользовательских Operationsкоторые все добавляются к одному и тому же массиву по завершении (каждая операция загружает файл из iCloud пользователя, и когда это делается, он добавляет файл в массив) Это иногда приводит к сбою пр…
1 ответ

Необходимо вызывать API асинхронно и немедленно обновлять пользовательский интерфейс, а не ждать завершения всего API в Swift.

У меня есть страница PLP, мне нужно нажать стандартный API для всех продуктов, видимых на экране, и мне нужно обновить стандартный пользовательский интерфейс для каждого продукта после получения ответа для каждого продукта, я реализовал это с помощь…
1 ответ

Ожидание только одной операции в OperationQueue

При использовании OperationQueues в Swift, как лучше всего дождаться завершения любой операции в очереди, в отличие от обычного требования ожидания завершения всех операций через? Мотивация — параллельный алгоритм поиска, в котором любая из операций…
14 фев '23 в 16:00
0 ответов

Ограничение количества запросов на выборку в URLSession с помощью SwiftUI?

Я использую асинхронный загрузчик изображений для извлечения изображений изURLRequest, и я пытаюсь обернуть свой код внутри операции, чтобы я мог использовать.maxConcurrentOperationCountдляOperationQueue, потому что я должен ограничить количество за…
22 сен '22 в 18:33
0 ответов

Сбой EXC_BAD_ACCESS KERN_INVALID_ADDRESS в addOperation of OperationQueue

У меня есть реализация асинхронной операции следующим образом: class AsyncOperation: Operation { private enum State: String { case ready, executing, finished fileprivate var keyPath: String { return "is\(rawValue.capitalized)" } } private let stateA…