0

私が作ろうとしていることの簡単な概要。映画のレビューを表示するアプリを作成しています。PFQueryTableviewControllerカスタムセルを使用しています。このテーブルは、Parse データベースからのフィルムを示しています。各セルには 3 つの UIButton があり、ユーザーが映画に投票するために使用したい (happyVote、OkVote、sadVote)。各ボタンの上には、単純にカウントを表示する UILabel があります。

どのように機能させたいか

  1. ユーザーがいずれかのボタンを押すと、投票が 1 増加します。
  2. ユーザーが同じボタンをもう一度押すと、投票が 1 減ります。
  3. ユーザーが別のボタンを押した場合、投票は最初のボタンで減少し、押したばかりのボタンで増加します。
  4. ユーザーはいずれかのボタンにしか投票できません。
  5. 投票は、カウントを示す UILabel とボタン イメージの変化によって示されます。

ビジュアルについては、以下を参照してください。

ここに画像の説明を入力

これは私がParseに追加したものです:

ここに画像の説明を入力

これまでのところ、Parse の投票数を増やすためのコードを my に追加しましたTableViewController.swift

@IBAction func upVoteButton(sender: AnyObject) {

    let hitPoint = sender.convertPoint(CGPointZero, toView: self.tableView)
    let hitIndex = self.tableView.indexPathForRowAtPoint(hitPoint)

    let object = objectAtIndexPath(hitIndex)
    object!.incrementKey("UpVoteCount")
    object!.saveInBackground()
    self.tableView.reloadData()

}

この種の機能は、ユーザーがカウントを増やし続けることができ、3 つのボタンすべてに投票できることを除いて機能します。また、押されたときにボタン画像は変更されません。

私のcellForRowAtIndexPath方法では、私は入れました:

 let downVote = object!.valueForKey("DownVoteCount") as! Int
    cell.downVoteLabel.text = "\(downVote)"
    let middleVote = object!.valueForKey("MiddleVoteCount") as! Int
    cell.middleVoteLabel.text = "\(middleVote)"
    let upVote = object!.valueForKey("UpVoteCount") as! Int
    cell.upVoteLabel.text = "\(upVote)"

残りを理解する方法のいくつかの例をしばらく検索しましたが、何も見つかりません。次のステップを理解するのに本当に苦労しています。

私のコードが必要な場合、または見たい場合はお知らせください。ありがとう

4

1 に答える 1