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

Этот тег следует использовать для вопросов по программированию DispatchWorkItem, применимых только к вопросам Grand Central Dispatch в Swift 3 и более поздних версиях на платформах Apple.
2 ответа

DispatchWorkItem не завершает функцию при вызове.cancel()

У меня есть серия HTTP-запросов, выполняемых последовательно с использованием Alamofire в списке функций, вызываемых в основной функции, runTask() что я хочу иметь возможность остановиться. Итак, я настроил runTask() вызов функции в DispatchWorkItem…
1 ответ

Как предотвратить освобождение объектов в GCD?

Эта функция должна перепланировать выполнение рабочего элемента: class MyClass { var id: String? var workItem: DispatchWorkItem? var isDoing = false func myFunction() { guard let id = self.id else { return } isDoing = true NotificationCenter.default…
1 ответ

Есть ли у Kotlin что-то, что работает точно так же, как "DispatchWorkItem" в swift?

Я хочу выполнить определенную функцию после некоторого тайм-аута или при соблюдении определенного условия. Я сделал то же самое в быстром использовании DispatchWorkItem и использовал dispatchQueue?.asyncAfter(deadline: .now() + .seconds(10), execute…
21 янв '19 в 22:19
1 ответ

Swift iOS -DispatchWorkItem все еще работает, несмотря на то, что его отменяют и устанавливают в ноль

Я использую GCD DispatchWorkItem чтобы отслеживать мои данные, которые отправляются в firebase. Первое, что я делаю, это объявляю 2 свойства класса DispatchWorkItem и затем, когда я готов отправить данные в базу данных, я инициализирую их значениями…
1 ответ

Почему DispatchWorkItem уведомляет о сбое?

Я только начал немного больше узнавать о Grand Central Dispatch на языке программирования Swift. Я следовал учебному пособию онлайн, чтобы лучше понять GCD и попробовал различные примеры использования... в разделе о рабочем элементе я написал следую…
0 ответов

Как я могу сделать недействительным этот DispatchWorkItem в Swift?

Я делаю таймер, который обновляет текст, когда телефон записывает, и выполняю тяжелую работу с фильтрами. По какой-то причине рабочий элемент не выглядит недействительным, потому что когда я возвращаюсь к своему представлению, у меня появляется допо…
0 ответов

DispatchWorkItem не отменяет задачу сразу

У меня неприятная проблема с поиском. Существует массив структур с 30000 объектами и textView, при вводе букв я удаляю пробелы и задаю текст в searchText, searchText имеет WillSet и DidSet, в WillSet я отменяю все задачи поиска со старым текстом и н…
27 фев '19 в 13:36
4 ответа

Синхронизация нескольких вызовов веб-сервисов в последовательном порядке в Swift

Я нажимаю URL веб-службы 10 раз и получаю ответ. я использую Alamofire а также SwiftyJSON, Это код моего контроллера class ViewController: UIViewController { let dispatchGroup = DispatchGroup() var weatherServiceURL = "http://samples.openweathermap.…
1 ответ

Есть ли конкретный способ добавить DispatchWorkItems к DispatchQueue вместо их объявления в коде?

У меня есть несколько рабочих элементов Dispatch для выполнения в очереди. Я не хочу повторно объявлять коды, я хочу передать их в массив или список DispatchWorkItems а затем добавить его в очередь отправки есть ли способ добиться этого? func execut…
0 ответов

Невозможно понять флаги DispatchWorkItem - assignCurrentContext и отсоединить

Пожалуйста, простите меня за то, что я задал аналогичный вопрос: что означает detached и assignCurrentContext? Я не могу понять флаги DispatchWorkItem - assignCurrentContext и detached. Я также не получил объяснения, упомянутого в документации Apple…
04 июн '20 в 13:29
1 ответ

Swift: как прервать процедуру сортировки

Я хочу дать пользователям возможность остановить процедуру сортировки, если она занимает слишком много времени. Я пробовал использовать DispatchWorkItem.cancel. Однако на самом деле это не останавливает уже запущенные процессы. let myArray = [String…
0 ответов

Swift iOS - понимание контекста блока уведомления о выполнении DispatchWorkItem

Я исследую DispatchWorkItemчтобы адаптировать мои требования к приложению. Цель состоит в том, чтобы написать общий TaskScheduler для планирования действий, передаваемых ему в другом потоке. TaskScheduler также должен иметь возможность отменять дейс…
0 ответов

Задача асинхронного диспетчеризации не может быть возобновлена ​​после отмены

У меня есть асинхронная задача, которую я хотел бы запустить через 10 секунд после нажатия кнопки, и, нажав другую кнопку, я хотел бы отменить эту задачу. При первом снимке задача запускается, как и ожидалось, через 10 секунд, но если я нажму кнопку…
04 апр '20 в 21:08
1 ответ

Невозможно отменить DispatchWorkItem в представлении SwiftUI

Я работаю над модификатором представления, представляющим представление о текущем содержимом. Это представление должно быть закрыто, если пользователь нажимает на него, или автоматически по прошествии определенного времени. Я пытаюсь сделать это с п…
2 ответа

Невозможно разорвать цикл с семафором

Я пытаюсь добавить список асинхронных задач при использовании . func performStickerWorkItems(_ stickers: [String]) { let queue = DispatchQueue.global(qos: .background) workItem = DispatchWorkItem { [weak self] in for sticker in stickers { guard let …
0 ответов

Использование DispatchWorkItem для получения данных изображения из URL, как отменить задачу при прокрутке (или при вызове метода prepareToReuse())

Я получаю URL-адреса изображений, а затем получаю данные изображения с этих URL-адресов. я решил использоватьDispatchWorkItemотправитьData(contentsOf: URL)метод в фоновую очередь. Как только задача завершена, рабочий элемент уведомляет основной пото…
1 ответ

Обернуть асинхронную задачу в DispatchWorkItem в Swift, чтобы сделать ее отменной?

У меня есть класс с асинхронными методами. Все способы самые простые: class SomeClass { func someFunc(params: SomeParams, completion: ((SomeResult) -> ())?) { ... //some code where completion is called asynchronously, not only with DispatchQueue.…