2016-09-28 46 views
0

我無法理解如何使用委託方法保存表格單元格中包含的文本字段的文本值。我正在使用一個單獨的.xib文件,它包含表格單元格的文本字段。下面是使用cellForRowAt indexpath的代碼,但我不確定如何在文本字段和包含此代碼的swift文件之間進行通信。使用委託方法保存自定義單元格文本字段

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let currentCellDescriptor = getCellDescriptorForIndexPath(indexPath) 
    if currentCellDescriptor["cellIdentifier"] as! String == "idEntranceFee" { 
     func textFieldDidBeginEditing(textField: UITextField!) { 

     } 
    } 

回答

0

這是我用來處理這個問題的代碼。

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell 
    { 
     tableView.registerNib(UINib(nibName: "PostsCell", bundle: nil), forCellReuseIdentifier: "PostsCell") 
     postsCell = tableView.dequeueReusableCellWithIdentifier("PostsCell") as! PostsCell 
     let song = album.objectAtIndex(indexPath.row) as! NSArray 
     let songName = song[0] as? String 
     postsCell.titleLabel.text = songName 
return postsCell 
    } 

這就是我的postsCell文件的樣子。

class PostsCell: UITableViewCell 
{ 
    @IBOutlet weak var titleLabel : UILabel! 
    @IBOutlet weak var bodyLabel : UILabel! 
} 

你的問題有點含糊,但這應該會幫助你。如果您有任何問題,請回複評論。

0

您必須爲每個UITableViewCell中的ViewController中的每個UITextfield設置一個委託。

textField.delegate = self 

然後在你的ViewContoller實施UITextFieldDelegate:

extension YourViewController: UITextFieldDelegate { 
    func textFieldDidBeginEditing(textField: UITextField) { 

    } 
    func tableView(tableView: UITableView, didEndEditingRowAtIndexPath indexPath: NSIndexPath) { 

    } 
} 
相關問題