0
ответов

Как мне написать dispatch_after GCD в Swift 3, 4 и 5?

В Swift 2 я смог использовать dispatch_after, чтобы отложить действие, используя большую центральную диспетчеризацию: var dispatchTime: dispatch_time_t = dispatch_time (DISPATCH_TIME_NOW, Int64 (0.1 * Double (NSEC_PER_SEC))) ...
вопрос задан: 11 May 2019 16:31
0
ответов

Флаги источника отправки Grand Central Dispatch (GCD)

Недавно я переключился с использования kqueue на источники отправки GCD для отслеживания изменений файлов. Это хорошо сработало и привело к гораздо более простому API. Я задокументировал свой переключатель здесь. Единственная проблема, с которой я столкн
вопрос задан: 29 March 2019 13:09
0
ответов

dispatch_after - GCD в Swift?

Я прошел iBook от Apple, и не смог найти его определения: может кто-нибудь объяснить структуру dispatch_after? dispatch_after (< #when: dispatch_time_t # & gt ;, < #queue: ...
вопрос задан: 29 December 2018 05:54
0
ответов

Когда использовать семафор вместо группы рассылки?

Я хотел бы предположить, что я знаю, как работать с DispatchGroup, для понимания проблемы, я попытался: class ViewController: UIViewController {переопределить func viewDidLoad () {super ....
вопрос задан: 19 April 2018 15:55
0
ответов

Отображение представления происходит очень медленно в CTCallCenter callEventHandler

Репост с более кратким и конкретным вопросом после того, как исходный вопрос остался без ответа. Также добавление более глубокого понимания проблемы после еще одного дня исследования: в моем приложении делегат (...
вопрос задан: 12 March 2018 18:23
0
ответов

эквивалент dispatch_after в NSOperationQueue

Я перемещаю свой код из обычного GCD в NSOperationQueue, потому что мне нужны некоторые функции. Большая часть моего кода полагается на dispatch_after для правильной работы. Есть ли способ сделать что-то ...
вопрос задан: 4 March 2018 14:45
0
ответов

Как вы запускаете блок после задержки, например -performSelector: withObject: afterDelay :?

Есть ли способ вызвать блок с параметром примитива после задержки, например, с помощью executeSelector: withObject: afterDelay: но с аргументом типа int / double / float?
вопрос задан: 6 November 2017 05:13
0
ответов

В чем разница между performSelectorOnMainThread и dispatch_async в основной очереди?

У меня возникли проблемы с изменением представления внутри потока. Я попытался добавить подвид, но для отображения потребовалось около 6 или более секунд. Наконец-то он заработал, но не знаю, как именно. Итак, я был ...
вопрос задан: 9 September 2017 20:21
0
ответов

Запустить повторяющийся NSTimer с GCD?

Мне интересно, почему когда вы создаете повторяющийся таймер в блоке GCD, он не работает? Это отлично работает: -(void)viewDidLoad{ [super viewDidLoad]; [NSTimer ScheduleTimerWithTimeInterval:1.0 ...
вопрос задан: 4 August 2017 17:18
0
ответов

iPhone - главная тема Grand Central Dispatch

Я успешно использовал грандиозную центральную диспетчеризацию в своих приложениях, но мне было интересно, каково реальное преимущество использования чего-то вроде этого: dispatch_async (dispatch_get_main_queue (), ^ {... do ...
вопрос задан: 4 July 2017 22:07
0
ответов

Шаблон для асинхронной очереди модульного тестирования, которая вызывает основную очередь по завершении

Это связано с моим предыдущим вопросом, но достаточно отличается, чтобы я решил, что переброшу его в новый. У меня есть код, который запускает асинхронно в настраиваемой очереди, а затем выполняет блок завершения на ...
вопрос задан: 23 May 2017 12:34
0
ответов

Цель C - Что такое самый быстрый и эффективный способ перечисления массива?

Edit Я прочитал несколько статей о блоках и быстром перечислении, GCD и т.п. @Bbum, который написал много статей на тему GCD и блоков, говорит, что методы перечисления блоков ...
вопрос задан: 23 May 2017 12:31
0
ответов

Достаточно ли очереди отправки GCD, чтобы ограничить контекст Core Data одним потоком

Я начинаю думать, что ответ на мой вопрос - «Нет», но я все еще смущен и не уверен в этом. Пожалуйста, подтвердите. Я уже понял, что нужно быть осторожным при использовании Core Data с ...
вопрос задан: 23 May 2017 12:18
0
ответов

Есть ли причина не использовать спящий режим в очереди Grand Central Dispatch?

Я хотел бы, чтобы очередь ожидала в течение короткого периода времени, пока она зацикливается. Я рассматриваю свои варианты и тестировал приостановку возобновления очереди, но, похоже, для этого требуется несколько движущихся частей. ...
вопрос задан: 23 May 2017 12:17
0
ответов

Что означает "t" в dispatch_queue_t?

Я не могу найти в документации Apple по GCD, что означает "t" в dispatch_queue_t. Сначала я подумал, что это "thread", но после прочтения этого вопроса я думаю, что это означает typedef. Если ...
вопрос задан: 23 May 2017 12:15
0
ответов

Блоки: Блоки на основе стека, выходящие за рамки scope

В одном из заголовочных файлов Apple для libdispatch, queue.h, появляется следующее предупреждение: // Объявление блока выделяет место для хранения в стеке. // Следовательно, это недействительная конструкция: ...
вопрос задан: 23 May 2017 12:09
0
ответов

Выполнить изменения пользовательского интерфейса в основном потоке, используя асинхронную отправку _или PerformSelectorOnMainThread? [дубликат]

Возможный дубликат :Grand Central Dispatch (GCD )по сравнению с PerformSelector -нуждается в лучшем объяснении Чтобы выполнить «вещи» в основном потоке, должен ли я использовать асинхронную отправку _или PerformSelectorOnMainThread?...
вопрос задан: 23 May 2017 12:07
0
ответов

dealloc вызвал аварийное приложение фоновой очереди GCD, созданное с помощью ARC

У меня есть контроллер представления, который загружает ресурс в фоновую очередь GCD. Я передаю своей функции загрузки блок обратного вызова для выполнения после завершения загрузки, и он всегда выполняет этот блок ...
вопрос задан: 23 May 2017 11:58
0
ответов

@synchronized vs диспетчеризация GCD _барьер _async

Я впервые начал управлять очередями и чувствую, что хорошо разбираюсь в том, как их использовать, и спасибо Apple за то, что они сделали их довольно простыми в использовании. Однако я столкнулся с тем, что...
вопрос задан: 23 May 2017 11:45
0
ответов

В чем разница между «глобальной очередью» и «основной очередью» в GCD?

Среди некоторых других способов получить очереди в GCD есть два способа: dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0); dispatch_get_main_queue(); Если я не совсем неправ, то "...
вопрос задан: 5 May 2017 15:23
0
ответов

DispatchQueue.main.sync возвращает exc_bad_instruction Swift 3

Я хочу отобразить ActivityIndicatorView в моем приложении, но когда я вызываю метод синхронизации из основного потока, приложение вылетает с ошибкой: exc_bad_instruction (code = exc_i386_invop subcode = 0x0) Я ...
вопрос задан: 1 February 2017 17:50
0
ответов

В чем разница между dispatch_get_global_queue и dispatch_queue_create?

Я пишу умеренно сложную программу для iOS, которая должна иметь несколько потоков для некоторых более длительных операций (анализ, подключение к сети и т. д.). Однако я не понимаю, что за...
вопрос задан: 9 November 2016 09:02
0
ответов

dispatch_async и dispatch_sync с использованием последовательных очередей в Grand Central Dispatch

Хорошо, я люблю Grand Central Dispatch и после того, как использовал его с относительным успехом, но это то, что я не совсем понимаю. Предположим, я создал свою собственную последовательную очередь, используя dispatch_queue_t myQueue; Мне нравится Grand
вопрос задан: 28 April 2016 14:24
0
ответов

Как преобразовать dispatch_data_t в NSData?

Это правильный путь? // преобразовать const void *buffer = NULL; size_t size = 0; dispatch_data_t new_data_file = dispatch_data_create_map(data, &buffer, &size); if(new_data_file){ /* чтобы избежать ...
вопрос задан: 19 November 2015 21:45
0
ответов

Как записать в массив из dispatch_apply (GCD ) loop?

Я написал код для расчета динамики большого набора связанных основных уравнений с использованием метода Рунге-Кутта. Код содержит множество циклов for, где каждый шаг независим. Я намереваюсь ...
вопрос задан: 29 July 2015 14:39
0
ответов

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

dispatch_queue_t callerQueue = dispatch_get_current_queue(); dispatch_retain(callerQueue); dispatch_queue_t downloadQueue = dispatch_queue_create("Download Queue",NULL); dispatch_async(downloadQueue, ....
вопрос задан: 8 May 2015 22:16
0
ответов

Swift - в многопоточном массиве изменяемого массива GCD выдается «мутирование при перечислении»

Сейчас я занимаюсь разработкой игры, в которой сферы падают с неба. Собирая сферы, вы набираете очки, и после определенного количества очков все сферы разгоняются до другой скорости. ...
вопрос задан: 6 April 2015 08:15
0
ответов

iOS8 Swift TableView Загрузка Overlay Grand Central Dispatch

Я пишу приложение, в котором у меня есть несколько TableViews. Если щелкнуть ячейку в первой ячейке, откроется вторая с определенными параметрами. Для каждого из них я анализирую некоторый контент из ...
вопрос задан: 26 February 2015 00:06
0
ответов

iPhone - Проверка GCD, приостановлена ​​ли очередь

Мне нужно использовать dispatch_resume (...); чтобы возобновить отправку, которая была приостановлена, но поскольку метод возобновления отправки может быть вызван несколькими частями приложения, мне нужно знать, была ли отправка ...
вопрос задан: 22 October 2014 02:02
0
ответов

Эквивалент очереди последовательной отправки GCD в iOS 3.x

Apple Grand Central Dispatch (GCD) великолепен, но работает только на iOS 4.0 или выше. В документации Apple говорится: «[A] сериализованная очередь операций не предлагает такого же поведения, как последовательная ...
вопрос задан: 23 July 2014 16:10