данные в апи, они какое то время генерируются на свервере и возвращаются. После чего должна появиться вьюха с табличкой с этими данными. Но у меня либо табличка загружается раньше, чем данные возвращаются (и она, соотвественно, пустая), либо, если сунуть загрузку вью в DispatchQueue.main.async, так и не загружается. Где почитать, как с этим работать?
Не используйте DispatchQueue попробуйте через async await
добавь параметр isLoading = true когда жмешь кнопку вызова апи - как апи закончит меняй его на isLoading = false == а табличку выводит только тогда когда isLoading = false
На SwiftUI пишете?
звучит хорошо, а какой может быть маркер, что она закончена?
на uikit)
тааак, поняла, почитаю!)
Тогда не могу помочь? Я не знаю как с ним работать
как апи выдаст ответ обратно
Почитайте, он удобнее чем Dispatch, но объяснить не смогу так как объяснил выше - не знаю UIKit
вроде поняла, сейчас попробую, спасибо!)
ну типо как result придет от апи - проверить что он не пуст и данные что надо - меняем isLoading = false
Не использовать dispatch, потому что он неудобный?
Ну я его не использую
Не аргумент)
ну так это твоя проблема
а что советуете?))
оставить привычную асинхронность. DispatchQueue, OperationQueue и тд
а можете показать код?
а дату выводили?
если коротко, я делаю фотку с паспортом, и нажимаю кнопку «отправить». в это время фотка отправляется на сервер для распознавания и возвращается в виде данных для открытия таблички. данные приходят, но с небольшой задержкой
ну я вижу маркер, что данные пришли, уже после загрузки пустой таблички)
isLoading = true/false в помощь )
Данные точно корректные приходят?
в покажите TextRecResultVC а именно поле passportData
поэтому табличку надо выводить только после загрузки данных - а на время загрузки данных выводить о том что данные загружаются / обрабатываются
ну тут коротко. или обработку показать?
viewDidLoad вызывается когда вьюшка загрузилась в память. соотвественно, когда мы установили свою дату в поле - она все еще будет пустая во viewDidLoad
я правильно понимаю, что в начале функции распознавания текста, я ставлю isloading = true, в конце false. а в кнопке пишу что-то вроде if isloading == false, грузи вью? не получится так, что isloding будет не false и дальше ничего не случится?) простите заранее за идиотские вопросы)
Обсуждают сегодня