微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在表视图中快速访问视图控制器的值进入表视图

如何解决如何在表视图中快速访问视图控制器的值进入表视图

我是新手,我无法访问tableview单元内tableview单元中的IBOutlet变量。

我的代码是这样的

在视图控制器中

@IBOutlet var lblPopupTitle: UILabel!

在单元格内的Tableview中

 cell.btnEdit.tag = indexPath.item
 cell.btnEdit.addTarget(self,action: #selector(btnEdit),for: .touchUpInside)

在“表格视图”单元格中

class AttendanceInOutCell: UITableViewCell {

@IBOutlet var txtStartAt: UITextField!

    override func awakeFromNib() {
        super.awakeFromNib()
        
    }
    
    
    @objc func btnEditClick(_ sender: UIButton)
    {
        let index = IndexPath(row: sender.tag,section: 0)
        let cell: AttendanceInsideCell = tableAway.cellForRow(at: index) as! AttendanceInsideCell

        lblPopupTitle.text = cell.txtAwayStart.text

    }
}

lblPopupTitle告诉我“使用未解析的标识符'lblPopupTitle'”如何解决此问题。 是否有人也遇到过这类问题。请帮忙!。 预先感谢!

解决方法

0

P.S:-如果需要,您还可以在委托函数中传递多个信息。

,
protocol AttendanceDelegate: class {
   func didTapOnBtn(_ popUpTitle: String)
}

class AttendanceInOutCell: UITableViewCell {

@IBOutlet var txtStartAt: UITextField!
    weak var delegate: AttendanceDelegate?
    override func awakeFromNib() {
        super.awakeFromNib()
        
    }
    
    
    @objc func btnEditClick(_ sender: UIButton)
    {
        let index = IndexPath(row: sender.tag,section: 0)
        let cell: AttendanceInsideCell = tableAway.cellForRow(at: index) as! AttendanceInsideCell //( I m not getting this from where you get this tableAway variable) // So I m just telling you how you can set lblpopupTitle.text in viewController

        lblPopupTitle.text = cell.txtAwayStart.text // remove this line
        self.delegate.didTapOnBtn(cell.txtAwayStart.text) // please unwrap the textfield text before passing it as parameter

    }
}



// for view controller 
// there must be as tableview cellforRowAt function where you are creating your cell
// so after creating the cell instance
// add this line ( cell.delegate = self) and return cell
// now add extension to your controller

extension ViewController: AttendanceDelegate {
   func didTapOnBtn(_ popUpTitle: String) {
       lblPopupTitle.text = popUpTitle
     
   }
}

// If you still face any problem you can ask me
Hope I am able to help you.
Thank You

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。