Поскольку вы не предоставили достаточную информацию для полного ответа, этот ответ основан на «наилучшей догадке», и поэтому он может быть неточным.
ЕСЛИ ваш «делать какой-либо код» выполняется в основном потоке, тогда вы увидите обновления пользовательского интерфейса, когда все будет сделано, поскольку вы блокируете основной поток.
Если ваш код выглядит следующим образом:
@IBAction func updateDB(_ sender: Any) {
stsLabel.text = "creating table"
DispatchQueue.global().async {
// do some stuf
}
stsLabel.text = "inserting table A"
DispatchQueue.global().async {
// some code
// and i have some cases again
}
stsLabel.text = "Complete"
}
Тогда проблема заключается в том, что «делать некоторые вещи» код выполняется асинхронно, так что все текстовые задания выполняются один за другим на главном потоке, так вы увидите только последний, потому что другие два слишком быстры, чтобы их можно было увидеть.
Если ваш код выглядит следующим образом:
@IBAction func updateDB(_ sender: Any) {
stsLabel.text = "creating table"
DispatchQueue.global().async {
// do some stuf
stsLabel.text = "inserting table A"
// some code
// and i have some cases again
stsLabel.text = "Complete"
}
}
Тогда проблема заключается в том, что все связанные с UI вещи должны идти в основном потоке. Результат выполнения этого основного потока приведет к тому, что обновление произойдет с огромной задержкой, а в некоторых случаях это может привести к сбою.
Здоровый способ сделать это, отправив на основной поток UI ops. Код должен выглядеть следующим образом:
@IBAction func updateDB(_ sender: Any) {
stsLabel.text = "creating table"
DispatchQueue.global().async {
// do some stuf
DispatchQueue.main.async(execute: {() -> Void in
stsLabel.text = "inserting table A"
})
// some code
// and i have some cases again
DispatchQueue.main.async(execute: {() -> Void in
stsLabel.text = "Complete"
})
}
}
использование TouchDown для состояния –
управления UIButton Что действие, которое будет завершено? Потому что, если у этого есть окно завершения, вы можете обновить ярлык. –
действие кнопка касание вверх –