У меня есть класс модели, который извлекает информацию о базе данных, для этого у меня есть метод getInfo()
в моем классе базы данных. В моем основном классе у меня есть табличное представление для отображения данных в виде таблицы. Я хочу вызвать этот метод класса базы данных и снова, если данных нет в базе данных, я запускаю запрос на сервере из того же метода базы данных. Чтобы предотвратить блокировку просмотра, я звоню performselectorInBackgroundThread()
. Все идет хорошо, но мой вопрос в том, что я не являюсь другим фоновым потоком для каждого запроса. Это хорошо?. Я хочу создать один метод backgoundthread, который я могу использовать снова и снова. Прошу посоветовать мне с некоторым кодом. СпасибоКак использовать один метод backgroundthread, который вызывается снова и снова
-1
A
ответ
0
Используйте GCD конечно!
Создание последовательной очереди отправки
dispatch_queue_t _queue ;
_queue = dispatch_queue_create("Queue.database", DISPATCH_QUEUE_SERIAL);
, когда вы хотите, чтобы сделать работу с базой данных, сделать это так, пример для запроса.
- (void)asyncQueryUserId:(NSString *)userId completeBlock:(void (^)(NSArray *))block
{
dispatch_sync(_queue, ^{
// data base work
NSArray * users = queryDB(userId) ;
// after do the work and get the result
// you may want the result to continue your logic
dispatch_async(dispatch_get_main_queue(), ^{
block(users) ;
}) ;
}) ;
}
GCD Подробнее о
Смежные вопросы
- 1. newView() в CursorAdapter вызывается снова и снова
- 2. Метод просмотра onDraw вызывается снова и снова на Android 2.2
- 3. Почему OnPreRender вызывается снова и снова?
- 4. Android RadioGroup onCheckedChanged вызывается снова и снова при обновлении Фрагмент
- 5. PIG Пользовательский загрузчик getNext() вызывается снова и снова
- 6. windowDidLoad не вызывается (снова)
- 7. Как тестировать в App Purchase снова и снова и снова ...?
- 8. Как снова и снова запускать AsyncTask?
- 9. Служба уничтожается снова и снова
- 10. Диалог сообщений снова и снова
- 11. Как создать цикл, который делает новый ввод снова и снова?
- 12. Метод ViewDidLoad снова вызван
- 13. Стоп снова и снова
- 14. Является ли хорошей практикой использовать один и тот же сеанс Hibernate снова и снова
- 15. Функция узла js, вызываемая снова и снова
- 16. Как вызвать URL снова и снова
- 17. Как использовать тот же самый итератор снова и снова?
- 18. JFrame открывается снова и снова
- 19. Omnifaces viewcoped bean воссоздается снова и снова
- 20. элемента работает снова и снова
- 21. PHP MVC Controller создан снова и снова
- 22. пароль безопасности хеширования снова и снова, или только один раз
- 23. Предварительно загруженные изображения загружаются снова, если предварительный загрузчик вызывается снова?
- 24. Уведомления запускается снова и снова
- 25. addEventListener добавление снова и снова
- 26. Сайт Magento снова и снова
- 27. код зацикливается снова и снова
- 28. Ошибка анализа снова и снова
- 29. Force Close снова и снова
- 30. Создать класс снова и снова?