Публикации по теме 'grand-central-dispatch'


WWDC 2017 Сессия 706 Модернизация использования GCD Опечатки Пьера
У Пьера сильный французский акцент, и трудно понять, что он сказал. Мне потребовалось несколько часов, чтобы продиктовать расшифровку стенограммы и сделать корректуру. В стенограмме все еще есть неразборчивые слова, но я считаю, что она лучше, чем версия с сайта Apple Developer Site. Начинать Спасибо, Даниэль. Итак, в этом году мы действительно полностью заново изобрели внутренности GCD, устранив некоторые нежелательные переключения контекста и выполняя иерархии с одной очередью,..

Семафоры в Swift
Это вторая часть серии статей о параллелизме и многопоточности в iOS. Если вы не читали мою первую статью, объясняющую очереди и задачи в iOS, я настоятельно рекомендую прочитать ее здесь , поскольку я буду использовать аналогию, которую использовал в той статье в этом посте. Однако, если вы хорошо разбираетесь в очередях и задачах, вы можете продолжить чтение этой статьи, так как я хотел бы дать краткое введение в аналогию, которую использовал в предыдущей статье. Сюжет В..

Вопросы по теме 'grand-central-dispatch'

Почему я должен использовать Grand Central Dispatch вместо OpenMP?
Apple представила Grand Central Dispatch (пул потоков) в Snow Leopard, но не объяснила, почему его следует использовать поверх OpenMP, который является кроссплатформенным и также работает на Leopard. Они оба довольно просты в использовании и похожи...
2298 просмотров

Как на самом деле Grand Central Dispatch использует операционную систему?
У меня есть четкое представление о том, как работает GCD, но я хочу узнать больше о разрекламированном внутреннем устройстве «управления операционной системой». Кажется, почти все технические объяснения того, как Grand Central Dispatch работает с...
1796 просмотров
schedule 18.10.2022

Преобразование неосновных задач цикла выполнения в GCD
У меня есть задача, которая запускается периодически, и изначально она была разработана для запуска в отдельном цикле выполнения, отличном от основного цикла выполнения, с использованием NSThread и NSTimer. Каков наилучший способ адаптировать это,...
1049 просмотров

dispatch_apply с объявлением локальной переменной не компилируется в реализации метода C++
Код class XXX { vector<Record> getAll() { dispatch_apply(3, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(size_t i) { for (int j = 0; j < ...; ++j) { ... } }); } } не...
381 просмотров

Может ли блок в Objective-C принимать нулевое значение в качестве параметра?
Следующий код загружает изображение и возвращает результат с блоком, чтобы я мог воспользоваться преимуществами асинхронных функций блоков и Grand Central Dispatch. Я обнаружил, что если изображение или объект ошибки равны нулю, я получаю ошибку...
1061 просмотров

Как сохранить действия пользователя iOS, чтобы сбалансировать производительность с возможностью многократной отмены?
У меня есть рисование пальцами в одном представлении моего приложения. Когда пользователь прикасается к представлению, я сохраняю текущее изображение представления, поэтому при необходимости могу отменить его позже. Чтобы уменьшить отставание, я...
193 просмотров
schedule 04.09.2022

Проблемы GCD и KVO
Мое приложение хочет получить список альбомов iphone и все фотографии в определенном альбоме. В приложении я перечисляю фотографии в одном альбоме айфона. Поскольку фотографий определенного альбома может быть много, с учетом производительности я...
2120 просмотров

iOS — Grand Central Dispatch получает значение из блока в dispatch_async
Я использую приведенный ниже код для загрузки некоторых данных из Интернета. Я прав, что мне нужно сохранить данные, как я сделал? Также оператор NSLog внутри блока показывает, что массив был заполнен, но когда я запускаю NSLog вне блока, массивы...
5515 просмотров

Обновления координационных данных ios не видны в разных контекстах управляемых объектов - данные в разных контекстах различаются
У нас возникает проблема, когда разные потоки видят разные данные в одних и тех же записях, но с разными контекстами управляемых объектов (moc). Наше приложение синхронизируется в фоновом режиме с серверным API. Вся синхронизация выполняется в...
3040 просмотров

Как я могу упорядочить асинхронные фоновые задачи с помощью GCD?
Я использую GCD на iOS для выполнения трудоемкой задачи в фоновом потоке. В API есть метод запуска, который принимает в качестве аргументов два блока, оба вызываются в основной очереди. Первый вызывается при запуске задачи, а второй — при завершении...
1494 просмотров

Основные данные и потоки / Grand Central Dispatch
Я новичок в Grand Central Dispatch (GCD) и Core Data, и мне нужна ваша помощь, чтобы использовать Core Data с CGD, чтобы пользовательский интерфейс не был заблокирован, пока я добавляю 40 000 записей в Core Data. Я знаю, что компакт-диск не...
14392 просмотров

Обновление пользовательского интерфейса, NSOutlineView reloadData и рекурсивные методы
Я заполняю NSOutlineView, рекурсивно читая каталог. После того, как каталог и его подкаталоги прочитаны, я обновляю схему, вызывая reloadData внутри отправки, как показано ниже. -(void)readDir:(NSString*)path {...
1499 просмотров

Использование Grand Central Dispatch вне приложения или цикла выполнения
В документации GCD совершенно ясно, что для отправки работы в основную очередь вам нужно либо работать в NSApplication (или UIApplication), либо вызывать dispatch_main(), чтобы действовать как своего рода цикл выполнения. Однако нужно ли мне что-то...
2060 просмотров

Проблема с двойным кастингом
Я разработчик Objective-C с небольшим опытом работы с C/C++ (и нулевой подготовкой), и сегодня я столкнулся с чем-то странным с жестко запрограммированными числовыми значениями. Я уверен, что это простой/глупый вопрос, но может кто-нибудь...
6967 просмотров

Параллелизм NSInvocationOperation и NSOperationQueue
Я использую NSInvocationOperation с NSOperationQueue разработкой в ​​iOS5. Согласно документации Apple по объектам вызова : Класс NSInvocationOperation является конкретным подклассом NSOperation ... Этот класс реализует непараллельную...
1231 просмотров

Как переписать [NSRunLoop runUntilDate:] в код GCD?
Просто для моего любопытства я пытаюсь переписать следующий код // show HUD (with animation) [SVProgressHUD showWithStatus:@"loading..."]; // wait for HUD to safely finish showing its animation // (loading HUD will be visible for 1 sec)...
710 просмотров

Получение данных с использованием dispatch_sync в UITabViewController
Я пишу приложение, которое использует UITabBarController для переключения представлений. Одна вкладка отправляет веб-запрос на сбор и обработку данных JSON перед заполнением UITableView. Я пытаюсь загрузить эти данные в фоновом режиме, поэтому,...
880 просмотров

Как убить/приостановить/закрыть асинхронный блок в GCD?
Я реализовал блок, который отправляется асинхронно с использованием GCD следующим образом: __block BOOL retValue; dispatch_async(dispatch_get_global_queue(0, 0), ^{ retValue = [self GCDHandler:actionName WithServiceType:serviceType...
1976 просмотров

dispatch_source_cancel на приостановленном таймере вызывает EXC_BAD_INSTRUCTION
Я пытаюсь отменить, а затем сбросить приостановленный таймер, но когда я вызываю для него «dispatch_release», я немедленно получаю EXC_BAD_INSTRUCTION. Разве это не допустимый набор действий для таймера? Создание и приостановка таймера:...
11117 просмотров

Заполните UITableView в классе ViewController из отдельного класса DataController, который использует централизованную отправку
У меня есть UITableView в классе ViewController. Класс ViewController использует пользовательский контроллер данных (указанный в AppDelegate). В классе dataController я извлекаю некоторый JSON из Интернета, анализирую его в NSMutableArray, а затем...
833 просмотров
schedule 11.05.2022