I have a tableView that contains two cell. The first cell contains a label and the second cell contains a DatePicker. The first cell uses the class:

```
import UIKit

class cell1: UITableViewCell {
    @IBOutlet weak var label1: UILabel!
}

```

Another cell uses the class: 

```
import UIKit

class cell2: UITableViewCell {
    @IBOutlet weak var outletPicker: UIDatePicker!

    @IBAction func actionPicker(sender: AnyObject) {
        let storyBoard = UIStoryboard(name : "Main" , bundle:  nil)
        let view = storyBoard.instantiateViewControllerWithIdentifier("ViewController") as! ViewController
        view.lblString = String(outletPicker.date)
        view.tableView.reloadData()
        view.tableView.layoutIfNeeded()
    }
}

```

As you see in the DatePickerAction I want to change the label of first cell. In the mainClass("TableViewController class") I defined a string named lblString. And change it. MainClass code is like below.

```
import UIKit

class ViewController: UITableViewController {
    var lblString : String = "initialString"

    override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return 2
    }

    override func tableView(tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
        return 30
    }

    override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 1
    }

    override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
    {
        if(indexPath.section == 0)
        {
           if(indexPath.row == 0)
           {
            let cell = tableView.dequeueReusableCellWithIdentifier("cell1") as! cell1
            cell.label1.text = lblString;
            return cell
            }
        }
        else
        {
            if(indexPath.row == 0)
            {
                let cell = tableView.dequeueReusableCellWithIdentifier("cell2") as! cell2
                return cell
            }
        }
        return UITableViewCell()
    }

    override func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
        if(indexPath.section == 0)
        {
           return 40
        }
        else
        {
            return 120
        }
    }
}

```

After MyDatePicker perform and `reloadData`, I can see `cellForRowAtIndexPath` function is running via breakPoint. But label of cell1 is still "initialString". How can I fix the problem?

[MyTableViewScreen](https://i.stack.imgur.com/bcxvc.png)