gpt4 book ai didi

swift - 根据 IF 应用函数

转载 作者:行者123 更新时间:2023-11-30 12:58:54 25 4
gpt4 key购买 nike

var amtOfLikes = 0
@IBAction func whenPressed (sender:UIButton, forEvent event: UIEvent){
likesLbl.text = "Likes \(amtOfLikes+1)"
likeBtn.setTitle("- Like", forState: UIControlState.Normal)

}

我们的问题是,我们要确保如果 LIKEBTN 的标签是“+ Like”,则 amtOfLikes+1 并将 LIKEBTN 更改为“- Like”。然后另一个 IF LIKEBTN 是“-Like”,在这种情况下不可避免地为真,因为它已被更改,然后是 amtOfLikes-1。它相当简单,但我们不确定如何编写代码。

最佳答案

首先保持数据的状态:

var liked: Bool = false

在点击处理程序中,您只需更改其值:

@IBAction func whenPressed(sender: UIButton, forEvent event: UIEvent) {
self.liked = !self.liked
}

您实际上可以在 didSet 回调中实现代码:

var liked: Bool = false {
didSet {
let title = liked ? "- Like" : "+ Like"
likeBtn.setTitle(title, forState: UIControlState.Normal)
}
}

或者您可以将其拆分为多个函数:

var liked: Bool = false {
didSet {
updateUIState()
}
}

private func updateUIState() {
let title = liked ? "- Like" : "+ Like"
likeBtn.setTitle(title, forState: UIControlState.Normal)
}

更改 amtOfLikes 应该是相同的。不要直接更改 UI。更改您的模型,然后根据您的模型更新您的 UI。

关于swift - 根据 IF 应用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40082174/

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