Описание тега ios-multithreading

1 ответ

Быстрый вызов в другой раз в потоке той же задачи

Извините за вопрос новичка. У меня есть действие, которое зависит от результата данных, возвращаемых из сети, и для этого действия может потребоваться другой сетевой запрос. Поскольку первый сетевой запрос уже вызван в datatask, я хочу использовать …
06 ноя '16 в 14:54
1 ответ

UICollectionView reloadData никогда не проходит через источник данных

Я пытаюсь отобразить данные в UICollectionView, который работал точно так же, как и во всем приложении, но по какой-то причине он не работает в этом случае: Вот код, необходимый для понимания проблемы: SomeController: func showContactsView(sender: R…
1 ответ

Множество асинхронных API для заполнения uitableview в желаемом порядке iOS swift

У меня есть несколько вызовов API, которые обновляют uitableview всякий раз, когда они получают результаты. Пользовательский интерфейс должен быть обновлен, как и когда API предоставляет данные. Все вызовы API являются асинхронными. Данные должны бы…
1 ответ

dispatch_barrier_async, кажется, не влияет на глобальную очередь?

Когда я попробую функцию GCD dispatch_barrier_asyncработает как положено в очереди, созданной dispatch_queue_createв то время как когда я помещаю его в глобальную очередь, созданную dispatch_get_global_queueкажется, барьер больше не работает = =, кт…
31 июл '16 в 10:38
2 ответа

Случайный сбой при запуске приложения

Я получаю очень странный сбой в начале приложения. Мое приложение порождает много потоков (более 500, большинство из них связаны с PLPreheatItem, я не могу вставить здесь полный журнал сбоев, потому что в stackru есть ограничение до 30K символов). П…
1 ответ

Почему мы должны вызывать основной поток для обновления пользовательского интерфейса?

Я знаю, что мы должны вызывать основной поток, когда мы обновляем интерфейс. Но я не могу объяснить своим товарищам по команде, почему мы должны это делать и почему Swift не делает этого автоматически. Раньше они вызывали self.present() так: self.pr…
13 дек '18 в 08:21
1 ответ

Как использовать presentViewController в пользовательском классе?

Я просто обновляю свой код, но окно alertWindow не отображается. Я добавляю точку останова в XCode, это показывает, что viewDelegate ноль Все делегаты ноль. Это мой код: class LoginViewController:UIViewController,AlertDelegate { override func viewDi…
24 янв '16 в 04:56
1 ответ

Как отправить задачи в фоновую очередь в Swift?

У меня есть локальное уведомление, которое устанавливается, когда пользователь нажимает кнопку. Я хочу отправить это в фоновый поток, а затем обновить интерфейс. Это безопасный способ сделать это? DispatchQueue.global(qos: .background).async { // se…
11 авг '17 в 21:10
1 ответ

Ошибка - Поток 1: сигнал SIGABRT SpinCity

Я делаю приложение для проекта, который отображает таблицу названий песен и позволяет вам нажимать на них, чтобы увидеть более подробную информацию о нем. Название проекта SpinCity. Ниже приведена ошибка исключения потока: // main.m // SpinCity #imp…
02 мар '16 в 16:37
1 ответ

Как остановить поток от бессрочного запуска в Swift?

Я запускаю функцию из библиотеки, которую не вижу в реализации. dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ someClass.beginService(); }); Этот библиотечный класс вызывает функцию делегата моего класса. class Mine…
21 окт '16 в 06:40
1 ответ

Вызывается ли didFinishPickingMediaWithInfo в фоновом потоке?

Я думал, что UIImagePickerController методы делегата (или любой UIKit Метод делегата) вызывается в основном потоке. Но здесь, при выборе изображения из галереи или камеры, didFinishPickingMediaWithInfo метод, кажется, не вызывается в одном, и методы…
1 ответ

Использование большего количества потоков для чтения того же файла в Java

Как я могу прочитать файл в Java, используя многопоточность? Неважно, если это медленнее, чем один раз, я должен это сделать. Так, например, если есть 2 потока, первый читает первую строку, и, в то же время, второй читает вторую строку; затем первая…
09 дек '17 в 21:56
2 ответа

Понимание dispatch_queues и синхронной / асинхронной отправки

Я - инженер Android, пытающийся портировать некоторый код iOS, который использует 5 очередей отправки SERIAL. Я хочу убедиться, что я думаю о вещах правильно. dispatch_sync для очереди SERIAL в основном использует очередь в качестве синхронизированн…
03 фев '17 в 23:22
1 ответ

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

Я сделал две функции, которые вызывают два разных API-интерфейса остальных с HTTP-запросом GET. Я сделал вызов класса "ExchangeObject", который инкапсулирует данные, полученные из API, в объект. При каждом вызове я добавляю объект класса ExchangeObj…
1 ответ

Как ждать обработчик завершения внутри блока @synchronized?

Я хочу вызвать обработчик завершения синхронно внутри критической секции (используя @synchronized block). Я пытаюсь дождаться завершения обработчика с помощью семафора, но сигнал семафора никогда не вызывается. Вот что я делаю: NSNumber *lock = 0; @…
0 ответов

Как работает блокировка в случае блокировки структуры и поля в структуре?

Рассмотрим структуру: struct ns_server { unsigned int magic; isc_mem_t * mctx; ns_interfacemgr * interfacemgr; isc_task_t * task; isc_quota_t xfroutquota; isc_quota_t tcpquota; isc_quota_t recursionquota; } Теперь рассмотрим другую структуру: struct…
0 ответов

План выполнения очереди и график выполнения цикла

Я прочитал пример кода Apple ListAdder о том, как использовать NSOperation. Техническое примечание TN2109 также объясняет детали. Если уже выполняется вычисление Операции, и пользователь удаляет данные, удаляя ячейку из табличного представления, то …
2 ответа

Возврат из потоков / GCD/ обработчик завершения

У меня есть логика, чтобы войти в систему с экрана входа в систему. Если вход в систему не удается, я хочу показать сообщение, чтобы пользователь знал. Если пользователь входит в систему успешно, я запускаю переход. Когда я проверяю его с неверными …
1 ответ

Realm - Пакетное обновление RLMResults в фоновом потоке

У меня есть RLMResults, которые мне нужно перебрать, выполнить потенциально "длительную" задачу загрузки (достаточно долго, чтобы ее не было в главном потоке), и обновить каждый объект в результате этой загрузки. Последняя итерация того, что я предп…
11 мар '17 в 21:45
0 ответов

Установка SQLITE_THREADSAFE в коде / Обеспечение безопасности потока Sqlite

Звучит глупо, но где я должен установить SQLITE_THREADSAFE в моем коде. Sqlite База данных в моем приложении используется в нескольких экземплярах, к которым я обращаюсь асинхронно. Таким образом, я хочу сделать поток базы данных безопасным. Одно из…
14 сен '15 в 13:01