title: How to use UISwitch correctly?
body: <p>My code is not working. I don't know why. The problem is the property of switchChanged function. If property is empty then code is working.</p>
  
  <pre><code>override func viewDidLoad() {
      super.viewDidLoad()
      // Do any additional setup after loading the view, typically from a nib.
  
      let rect = CGRectMake(130, 100, 0, 0)
      let uiSwitch = UISwitch(frame: rect)
      uiSwitch.setOn(true, animated: true)
      uiSwitch.addTarget(self, action: "switchChanged", forControlEvents: UIControlEvents.ValueChanged)
  
      self.view.addSubview(uiSwitch)
  }
  
  func switchChanged(uiSwitch: UISwitch) {
      var message = "Turn on the switch"
      if uiSwitch.on {
          message = "Turn off the switch"
      } else {
          message = "Turn on the switch"
      }
      let alert = UIAlertController(title: "Information", message: message, preferredStyle: UIAlertControllerStyle.Alert)
      let action = UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: nil)
      alert.addAction(action)
      self.presentViewController(alert, animated: true, completion: nil)
  }
  </code></pre>
  
  <p>Error: "libc++abi.dylib: terminating with uncaught exception of type NSException"</p>