title: Why I cannot set the labels with the data passed from one UIViewController to another (printing the data in console works) in Swift?
body: <p>In my app I have an embedded UIViewController inside a container. In my story board I added a touch event to this viewcontroller and I called the segue: <code>fullRequestSegue</code></p>
  
  <p>Then in the code of that UIViewController I wrote:</p>
  
  <pre><code>class RequestDetails: UIViewController, ShowRequestDetailsFromMap {
  
  var fullRequestDetails: FullRequestFromMap?
  
  override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
  if (segue.identifier == "fullRequestSegue"){
      fullRequestDetails?.changeEventDescr(self.descr, username: "adam", number: "12", created_at: self.created_at, photo: self.photo)
  
          fullRequestDetails = segue.destinationViewController as? FullRequestFromMap
          fullRequestDetails!.showRequestDetails = self      
      }
  }
  }
  </code></pre>
  
  <p>Then in my class <code>FullRequestFromMap</code> I have:</p>
  
  <pre><code>protocol ShowRequestDetailsFromMap {
      func changeEventDescr(text:String)
  }
  
  class FullRequestFromMap: UIViewController{
  
  @IBOutlet weak var userNumber: UILabel!
  var showRequestDetails:ShowRequestDetailsFromMap?
  override func viewDidLoad() {
      super.viewDidLoad()
  }
  
  func changeEventDescr(description: String, username: String, number: String, created_at: NSDate, photo: String) {
  
      print(username)
      print(description)
      print(number)
      print(created_at)
      print(photo) //that works fine, I see all valid data in the console
  
      userNumber.text = number //doesn't work, I see empty label instead of filled with passed data, the same problem is with other labels
  
  }
  </code></pre>
  
  <p>What is the problem here?</p>