2017-12-23 41 views
0

セルの1つにテーブルビューがあり、テーブルビューが内部にあります。サンプルセルにテキストフィールドがあります。 キーボードが終了したときにユーザーがテキストフィールドの編集を開始するときに必要です。相続人は、ここでこのtableviewがすばやく4の別のテーブルビューコントローラにあるtableviewセルでtextfieldsテキストを取得する方法は?

import UIKit 

class editCertificatesCell: UITableViewCell { 

@IBOutlet weak var addCertificate: UIButton! 

@IBOutlet weak var certificatesListTableView: UITableView! 

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 
} 

@IBAction func ceD(_ sender: UIButton) { 
    } 

} 


    extension editCertificatesCell { 

func setCollectionViewDataSourceDelegate 
    <T: UITableViewDelegate & UITableViewDataSource> 
    (_ dataSourceDelegate:T , forRow row : Int) 

{ 

    certificatesListTableView.delegate = dataSourceDelegate 
    certificatesListTableView.dataSource = dataSourceDelegate 
    certificatesListTableView.reloadData() 
} 




} 

にテーブルビューがあり、テーブルビューセルクラスは、ここで

012をその中にテーブルビューを持つメインテーブルビューindexPathコードされているコードに

@objc func dismissKeyboard() { 

    view.endEditing(true) 

    let index = IndexPath(row: 0, section: 6) 
    let cell = tableView.cellForRow(at: index) 

    if (cell as? editCertificatesCell) != nil { 
    for i in 0..<certificates.count { 

     let index = IndexPath(row: i, section: 0) 
     let cell = tableView.cellForRow(at: index) 

     if let cell = cell as? eCCell { 

      let b = cell.ceText.text! 
      print(b) 

      // here is your field 
     } 
    } 
    } 

を却下され、

let eCCells = tableView.dequeueReusableCell(withIdentifier: "eCCell", for: indexPath) as! eCCell 

     print(certificates[indexPath.row]) 
     eCCells.ceText.text = certificates[indexPath.row] 
     eCCells.ceDelete.tag = indexPath.row 
     eCCells.ceDelete.addTarget(self, action: #selector(EditProfileTableViewController.deleteCer), for: UIControlEvents.touchUpInside) 

とここで私は、コンソールで受信したエラーがある。しかし、クラッシュせずに

invalid capability (0x14) "Unable to insert COPY_SEND 

ユーザーがテキストフィールドがテキストフィールドのテキストの配列を作成し、その後、内側のテーブルビューをリロードし、それらを表示、編集するとき、単に私がちょうど欲しい

答えて

0

は答え は、私が代わりにdismissKeyboard()関数

@objc func dismissKeyboard() { 

    view.endEditing(true) 

    let index = IndexPath(row: 0, section: 6) 
    let cell = tableView.cellForRow(at: index) as! editCertificatesCell 

    var certificatesSample = [String]() 
    certificatesSample.removeAll() 
    for i in 0..<certificates.count { 

     let index1 = IndexPath(row: i, section: 0) 
     cell.certificatesListTableView.cellForRow(at: index1) 
     let cell = cell.certificatesListTableView.cellForRow(at: index1) 

     if let cell = cell as? eCCell { 

      let b = cell.ceText.text! 
      print(b) 
      certificatesSample.append(b) 
     } 
    } 

    certificates.removeAll() 
    certificates = certificatesSample 
    certificatesSample.removeAll() 


} 
1

1-キーボードが隠されアクセス可視セル

ときtableViewControllerに

2-表示/非表示をkeybaordに耳を傾けます

3-ループごとに、可視セルとは、内側テーブルビュー内のすべての内部セルのプロパティをtextfeild

5- aceesを

4-アクセス可視細胞を、それに関連する内部テーブルビューにアクセスし、現在の外側でそのテキストを保存しお使いのモデルに反映するために、内部細胞指数は、後にここに

+0

の私はこれを知っているが、コードで、私は問題を抱えているあなたはHELできます。これを使用する必要がありますですリロード私はここにいくつかのコードを書くとどうですか? –

関連する問題