title: Why is 'didset' called on a property when I set the property of that property?
body: <p>In this code when the text changes, <code>titleEditingChanged</code> is called (as expected). But when it executes the line </p>
  
  <pre><code>investment?.title = sender.text!
  </code></pre>
  
  <p>it calls the <code>didset{}</code> of <code>Investment</code>. 
  Why?</p>
  
  <pre><code>class InvestmentCell: UITableViewCell {
  
      var investment: Investment? {
          didSet {
              // setup UI elements from class properties
              textField.text = investment?.title
              valueField.text = investment?.value?.description
          }
      }
  
      @IBAction func titleEditingChanged(sender: UITextField) {
          investment?.title = sender.text!
      }
  
      @IBOutlet weak var textField: UITextField!
      @IBOutlet weak var valueField: UITextField!
  }
  </code></pre>