TableView内部tableView单元格迅速

时间:2020-09-23 14:54:54

标签: swift uitableview

在此图像中,此表视图中有两个部分。在第二部分中,单元格内有一个表格视图。我想在当前类中获取“内部表视图”的文本字段数据。这该怎么做?以下是我的tableview单元格的代码。我想在“ outerTableView”中获取“ InerTableViewCell1”数据。该怎么做?

enter image description here

//MARK- UITableViewDataSource
extension outerTableView: UITableViewDataSource{
    
    func numberOfSections(in tableView: UITableView) -> Int {
        return 2
    }
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
       return 1
        
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        
        if indexPath.section == 0{
            let cell1 = tableView.dequeueReusableCell(withIdentifier: "TableViewCell1", for: indexPath) as? TableViewCell1
            
            return cell1!
        }
        else{
            
            let cell2 = tableView.dequeueReusableCell(withIdentifier: "TableViewCell2", for: indexPath) as? TableViewCell2
            cell2!.innerTableView.reloadData()
            return cell2!
            
        }
    }

class TableViewCell2: UITableViewCell {
    //MARK- IBOutlet
    @IBOutlet weak var innerTableView: UITableView!
    
    //MARK- Properties
    var rowNumber = 1
    
    //MARK- Lifecycle
    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
        innerTableView.dataSource = self
        innerTableView.delegate = self
    }

    override func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)

        // Configure the view for the selected state
    }

}

//MARK- UITableViewDataSource
extension TableViewCell2: UITableViewDataSource{
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        print("row number is \(rowNumber)")
        return rowNumber
    }
    
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "InerTableViewCell1", for: indexPath) as? InerTableViewCell1
        return cell!
    }
    }
}

class InerTableViewCell1: UITableViewCell {

    //MARK- IBOutlet
    @IBOutlet weak var firstUserNameTextField: UITextField!
    
    @IBOutlet weak var firstAdressTextField: UITextField!
    
    @IBOutlet weak var secondUserNameTextField: UITextField!
    
    @IBOutlet weak var secondAdressTextField: UITextField!
    
    //MARK- Lifecycle
    override func awakeFromNib() {
        super.awakeFromNib()
        // Initialization code
    }

    override func setSelected(_ selected: Bool, animated: Bool) {
        super.setSelected(selected, animated: animated)

        // Configure the view for the selected state
    }

}


0 个答案:

没有答案