所以我有两个类似的按钮:一个是出口,另一个是动作。我这样做是因为我想更改其中一个的文本,并触发一个函数来增加另一个的计数。当用户点击"点赞按钮"时,点赞按钮会将其增量计数发送给Parse,并应增加点赞数。但出于某种原因,我可以将它的新计数(点赞数)发送给Parse,但它不会更改按钮的文本。这是我的代码:
@IBOutlet weak var likeButton: UIButton!
@IBAction func likeButton(sender: AnyObject) {
if (parseObject != nil) {
if var likes: Int? = parseObject!.objectForKey("numberOfLikes") as? Int {
let newNumberOfLikes = likes! + 1
parseObject!.setObject(newNumberOfLikes, forKey: "numberOfLikes")
parseObject!.saveInBackground()
likeButton.setTitle("(newNumberOfLikes) likes", forState: UIControlState.Selected)
}
}
// THIS WORKS
unlikeButton?.hidden = false
unlikeButton?.alpha = 1.0
UIView.animateWithDuration(1.0, delay: 0, options: [], animations: {
self.unlikeButton?.alpha = 1.0
}, completion: {
(value: Bool) in self.unlikeButton?.hidden = false
})
由于类似按钮出口和按钮动作的名称相同(likeButton)
尝试更改下面的任何其他名称
@IBAction func likeButton(sender: UIButton) {
sender.setTitle("(newNumberOfLikes) likes", forState: .Normal)
}
尝试更改
likeButton.setTitle("(newNumberOfLikes) likes", forState: UIControlState.Selected)
至
likeButton.setTitle("(newNumberOfLikes) likes", forState: .Normal)