185 похожих чатов

Друзья, подскажите, пожалуйста по работе с АПИ? По кнопке отправляю

данные в апи, они какое то время генерируются на свервере и возвращаются. После чего должна появиться вьюха с табличкой с этими данными. Но у меня либо табличка загружается раньше, чем данные возвращаются (и она, соотвественно, пустая), либо, если сунуть загрузку вью в DispatchQueue.main.async, так и не загружается. Где почитать, как с этим работать?

30 ответов

68 просмотров

Не используйте DispatchQueue попробуйте через async await

добавь параметр isLoading = true когда жмешь кнопку вызова апи - как апи закончит меняй его на isLoading = false == а табличку выводит только тогда когда isLoading = false

На SwiftUI пишете?

Lis- Автор вопроса
.juss
добавь параметр isLoading = true когда жмешь кноп...

звучит хорошо, а какой может быть маркер, что она закончена?

Lis- Автор вопроса
Lis- Автор вопроса
Lis
на uikit)

Тогда не могу помочь? Я не знаю как с ним работать

Lis
тааак, поняла, почитаю!)

Почитайте, он удобнее чем Dispatch, но объяснить не смогу так как объяснил выше - не знаю UIKit

Lis- Автор вопроса
.juss
как апи выдаст ответ обратно

вроде поняла, сейчас попробую, спасибо!)

Lis
вроде поняла, сейчас попробую, спасибо!)

ну типо как result придет от апи - проверить что он не пуст и данные что надо - меняем isLoading = false

Egor Ivanov
Не используйте DispatchQueue попробуйте через asyn...

Не использовать dispatch, потому что он неудобный?

Egor Ivanov
Ну я его не использую

ну так это твоя проблема

Lis- Автор вопроса
свифка (макс)
не надо

а что советуете?))

Lis
а что советуете?))

оставить привычную асинхронность. DispatchQueue, OperationQueue и тд

а можете показать код?

Lis- Автор вопроса
свифка (макс)
а можете показать код?

Не знаю, будет ли понятно)

Lis- Автор вопроса
Lis
screenshot Не знаю, будет ли понятно)

если коротко, я делаю фотку с паспортом, и нажимаю кнопку «отправить». в это время фотка отправляется на сервер для распознавания и возвращается в виде данных для открытия таблички. данные приходят, но с небольшой задержкой

Lis- Автор вопроса
свифка (макс)
а дату выводили?

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

Lis
ну я вижу маркер, что данные пришли, уже после заг...

в покажите TextRecResultVC а именно поле passportData

Lis
ну я вижу маркер, что данные пришли, уже после заг...

поэтому табличку надо выводить только после загрузки данных - а на время загрузки данных выводить о том что данные загружаются / обрабатываются

Lis- Автор вопроса
свифка (макс)
в покажите TextRecResultVC а именно поле passportD...

ну тут коротко. или обработку показать?

Lis
ну тут коротко. или обработку показать?

viewDidLoad вызывается когда вьюшка загрузилась в память. соотвественно, когда мы установили свою дату в поле - она все еще будет пустая во viewDidLoad

Lis- Автор вопроса
.juss
поэтому табличку надо выводить только после загруз...

я правильно понимаю, что в начале функции распознавания текста, я ставлю isloading = true, в конце false. а в кнопке пишу что-то вроде if isloading == false, грузи вью? не получится так, что isloding будет не false и дальше ничего не случится?) простите заранее за идиотские вопросы)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта