gpt4 book ai didi

iOS,Swift - 如何禁用 UIButton?

转载 作者:行者123 更新时间:2023-11-28 13:15:01 27 4
gpt4 key购买 nike

我目前正在开发一个使用 Parse 作为后端系统的应用程序。我想实现一个“喜欢”功能。这是我的代码

 @IBAction func ButtonPressed(sender: AnyObject) {

var query = PFQuery(className: "Content")

query.getObjectInBackgroundWithId(object.objectId, block: { (obj:PFObject!, error:NSError!) -> Void in


if error != nil{
println("Update error \(error.localizedDescription)")
}else{

var likesNumber = obj.objectForKey("Likes")[0] as Int
obj["Likes"] = [likesNumber + 1]

self.likeslab.setTitle("\(likesNumber + 1) likes", forState: UIControlState.Normal)
self.likesButton.enabled = false

obj.save()


}


})


}

不幸的是,代码运行良好,我遇到了一个问题:在用户触摸按钮后我想禁用它(为了避免同一用户多次点赞)。我尝试在以下行中执行此操作:

 self.likesButton.enabled = false

它工作正常,但如果用户离开 View 然后返回,该按钮将再次启用。非常感谢您的帮助!

最佳答案

这是必须在服务器端提供的东西。服务器必须向您提供用户是否喜欢某些东西的信息。然后,您可以在 Controller 的 viewWillAppear: 方法中设置 enabled

您的代码中有些东西闻起来很糟糕,例如:

var likesNumber = obj.objectForKey("Likes")[0] as Int
obj["Likes"] = [likesNumber + 1]

看起来您不是在服务器上增加喜欢的数量,而是在客户端上进行。这不会像您期望的那样工作的原因有很多。

您需要的是服务器上的一个数据库,用于跟踪哪个用户喜欢什么。您不想只保存喜欢的次数,您想要保存喜欢该对象的用户列表。

关于iOS,Swift - 如何禁用 UIButton?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29327758/

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