在我viewController
PFQueryTableViewController
中,我正在尝试为最初启用的TableViewCell中的帖子创建一个类似按钮的功能,但在用户喜欢这个帖子之后,我们有一个Parse中的PFRelation(userLike)。当用户喜欢应用上的帖子时,再次重新加载应用后,用户可以再次喜欢它。我不希望用户再次喜欢它。当重新加载应用程序时,我想在按下之后让like按钮自动禁用,同时检查当前用户的Parse以查看他们是否已经喜欢该帖子。我的代码中是否需要执行某些操作来禁止用户再次喜欢同一篇文章?我已粘贴下面的代码以获得更好的主意
评论的陈述是我试图用来实现该功能的。
@IBAction func likeButton(sender: UIButton) {
//let object: PFObject = self.objects?[sender.tag] as! PFObject
let hitPoint = sender.convertPoint(CGPointZero, toView: self.tableView)
let hitIndex = self.tableView.indexPathForRowAtPoint(hitPoint)
let object = objectAtIndexPath(hitIndex)
if sender.enabled == true{
disableButton(sender)
object!.incrementKey("count", byAmount: 1)
self.userLike?.addObject(object!)
globalLikeList.append(object!)
} else {
enableButton(sender)
object!.incrementKey("count", byAmount: -1)
self.userLike?.removeObject(object!)
if let index = globalLikeList.indexOf(object!) {
globalLikeList.removeAtIndex(index)
}
}
// let hitPoint = sender.convertPoint(CGPointZero, toView: self.tableView)
// let hitIndex = self.tableView.indexPathForRowAtPoint(hitPoint)
// let object = objectAtIndexPath(hitIndex)
// self.userLike?.addObject(object)
// tweet.addObject(object)
object!.saveInBackground()
self.tableView.reloadData()
PFUser.currentUser()?.saveInBackground()
NSLog("Top Index Path \(hitIndex?.row)")
}
我们还初始化了一个全球数组,喜欢存储那些“喜欢”的对象
var globalLikeList: [PFObject] = []
这也是我们在tableView中所做的。这是我相信我已经配置了类似按钮的地方:
override func tableView(tableView: UITableView?, cellForRowAtIndexPath indexPath: NSIndexPath?, object: PFObject!) -> PFTableViewCell? {
let cell = tableView!.dequeueReusableCellWithIdentifier("tweetCell", forIndexPath: indexPath!) as! tweet
if let tweet : PFObject = self.tweets.objectAtIndex(indexPath!.row) as! PFObject {
if let likeScore = object[("count")] as? Int {
cell.likeCount.text = "\(likeScore)"
}
if globalLikeList.contains(object!) {
cell.likeButton.selected = true
} else {
cell.likeButton.selected = false
}
cell.likeButton.tag = indexPath!.row
}
}
return cell
}
答案 0 :(得分:0)
检查您是否已经喜欢该帖子后,您有cell.likeButton.selected = true
。我想你想要cell.likeButton.enabled = false