gpt4 book ai didi

swift - viewDidLoad 中的异步任务

转载 作者:行者123 更新时间:2023-11-30 12:48:06 28 4
gpt4 key购买 nike

我正在 viewDidLoad 中使用异步任务函数,根据返回的响应,我正在更改 View (颜色、文本...),但我有“错误”:

  • 有时,当我更改 View 并返回 View 时,我的 View 背景没有变为橙色,而是变为绿色(绿色在 asynctask 函数响应后返回),所以当我回到 View 时,它必须重新加载它,这是不正常的...

  • 有时 View 仍然处于橙色背景,但函数已经通过了...

        super.viewDidLoad()

    self.lblUpdate.text = "Mise à jour des nouveaux paramètres en cours..."
    self.viewUpdate.backgroundColor = UIColor.orange
    self.hideUpdateConstraint.isActive = false
    self.updateTopConstraint.isActive = true
    self.updateBottomConstraint.isActive = true

    if Reachability.isConnectedToNetwork() == true {

    self.updateDown = true

    Reachability.checkUrl(urlString:Configuration.MyVariables.url, finished: { isSuccess in


    if isSuccess == true {

    ProcessingTasks.updateSimulationParams()
    self.lblUpdate.text = "Les nouveaux paramètres (taux, durée, montant...) ont été mis à jour."
    self.viewUpdate.backgroundColor = UIColor(red: 151/255, green: 232/255, blue: 84/255, alpha: 1.0)
    print("ok c bon")

    self.updateDown = false


    } else {
    self.updateDown = true
    self.lblUpdate.text = "Les nouveaux paramètres (taux, durée, montant...) n'ont pas pu être mis à jour car notre service est actuellement indisponible."
    self.viewUpdate.backgroundColor = UIColor.red
    }
    })
    } else {
    updateDown = true
    self.lblUpdate.text = "Les nouveaux paramètres (taux, durée, montant...) n'ont pas pu être mis à jour car vous ne disposez pas d'une connexion internet."
    self.viewUpdate.backgroundColor = UIColor.red
    }

    self.hideUpdateConstraint.isActive = true
    self.updateTopConstraint.isActive = false
    self.updateBottomConstraint.isActive = false
    self.hideUpdateConstraint.constant = 20
    self.viewUpdate.isHidden = true


    view.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(SimulationViewController.handleTap(_:))))

最佳答案

简短的建议。尝试覆盖“viewDidAppear”函数而不是“viewDidLoad”。 “viewDidAppear”应该在 View 更改之前触发。 “viewDidload”仅在 View 首次加载时触发。

override func viewDidAppear() {      
//Enter your code here
}

关于swift - viewDidLoad 中的异步任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41363727/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com