【问题标题】:Update label in custom UITableView Cell更新自定义 UITableView 单元格中的标签
【发布时间】:2015-10-12 06:50:48
【问题描述】:

我需要通过单击同一单元格中的按钮来更新标签。为什么我的代码不起作用?

@IBAction func actionFaveUnfave(sender: AnyObject) {
    let cell = self.tableView.cellForRowAtIndexPath(sender.indexPath)
    println(cell?.labelFavedTimes)

   cell.labelFavedTimes = "22"}

【问题讨论】:

    标签: swift button label cell


    【解决方案1】:
    cell.labelFavedTimes.text = "22"
    

    【讨论】:

    • 是的,我通过处理代码错过了这一点:D 但问题是他没有从 labelFavedTimes 获得成员“文本”(labelFavedTimes 也没有 Xcode 建议的单元格)
    • 您必须将您的单元格更改为您的自定义单元格:let cell = self.tableView.cellForRowAtIndexPath(sender.indexPath) as!自定义单元格
    【解决方案2】:

    cell?.labelFavedTimes.text = "22"

    顺便说一句 self.tableView.cellForRowAtIndexPath(sender.indexPath) 如果单元格不可见,可以返回 nil

    【讨论】:

    • 单元格可见,带有问号 xcode 现在说(我认为问题是我的自定义单元格?):UITableViewCell' does not have a member named 'labelFavedTimes
    • 您是否使用 Interface Builder 将 xib 中的 UILabel 与单元类中的属性连接起来?另外,试试var cell = self.tableView.cellForRowAtIndexPath(sender.indexPath) as! youCellClassName
    • 是的...但是在单元格类 TableViewCellHome: UITableViewCell { @IBOutlet weak var labelFavedTimes: UILabel! }
    • 试试var cell = self.tableView.cellForRowAtIndexPath(sender.indexPath) as! TableViewCellHome
    • 当我使用 var cell = self.tableView.cellForRowAtIndexPath(sender.indexPath) as! youCellClassName Xcode 识别 cell.labelFavedTimes.text = "22" 但说 Error: nil while emulation
    【解决方案3】:

    我通过使用 superview 解决了这个问题...这是我的解决方案:

        let button = sender as! UIButton
        let view = button.superview!
        let cell = view.superview as! TableViewCellHome
    
        let indexPath = tableView.indexPathForCell(cell)
        println(indexPath)
        if(indexPath != nil){
            var cell = self.tableView.cellForRowAtIndexPath(indexPath!) as! TableViewCellHome
            cell.labelFavedTimes.text = favedTimesInt +  " Faves"
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-04
      • 1970-01-01
      相关资源
      最近更新 更多