按下按钮时,UILabel不会从数组中填充

时间:2015-01-25 15:36:14

标签: ios arrays swift uibutton uilabel

我有UITableViewController个自定义UITableViewCells,其中包含UILabelUIButton

问题是,当按下按钮时,最初设置为0的UILabel不会改变,这会改变数组中的特定值。当我使用println()时,实际数组已更改,但UILabel尚未更改。

以下是我UITableViewController的代码:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let groupChatCell = tableView.dequeueReusableCellWithIdentifier("groupChatCell", forIndexPath: indexPath) as textCell

    groupChatCell.voteScoreLabel.text="\(groupVote[indexPath.row])"
    groupChatCell.voteScoreLabel.tag=indexPath.row

    return groupChatCell
}

voteScoreLabel是我要从数组中更新的UILabelgroupVotearray,用于填充带有分数的标签。我将UILabel标记设置为等于其索引路径,以便我可以在需要选择数组的特定值时引用它。


以下内容来自我的自定义UITableViewCellController

@IBAction func upVoteButtonPressed(sender: AnyObject) {
    groupVote[voteScoreLabel.tag]=groupVote[voteScoreLabel.tag]+1
}


我在这里做错了什么,以便在数组中相应的值发生变化时我可以进行UILabel更改。

1 个答案:

答案 0 :(得分:0)

单击按钮时需要重新加载tableView数据。 reloadData()函数再次调用每个tableView委托/数据源方法,并重新加载整个控制器,如果它的UITableViewController或整个tableView,如果它的视图添加到另一个控制器

  

您的代码应如下所示:

@IBAction func upVoteButtonPressed(sender: AnyObject) {
   groupVote[voteScoreLabel.tag]=groupVote[voteScoreLabel.tag]+1
   instance_of_your_tableView.reloadData()
   // If this is the name of method in swift //
}

此致