2015-12-01 24 views
1

在我的viewController,這是一個PFQueryTableViewController,我試圖爲最初啓用的TableViewCell中的我的帖子創建一個類似的按鈕功能,但是在用戶喜歡該帖子後,我們在Parse中有一個PFRelation(userLike)。當用戶喜歡應用中的帖子時,再次重新加載應用後,用戶可以再次喜歡它。我不希望用戶再次喜歡它。當重新加載應用程序時,我想讓按鈕在按下後自動禁用,同時檢查當前用戶的關係的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

您檢查,看看是否你已經喜歡的帖子後,你有cell.likeButton.selected = true。我想你想cell.likeButton.enabled = false

+0

這沒有奏效。我仍然可以再次喜歡這些用戶。 – JoshyBroheme

相關問題