title: Can't pass data from UITableviewController into ViewController - keep getting Swift dynamic Cast Class Unconditional error
body: <p>I'm simply trying to pass core data that displays in a TableViewController to another ViewController - there seems to be something wrong with my prepareForSegueCode.  Trying to pass the data and load it in viewDidLoad of the ViewController.  Any help is so much appreciated - been working on this for hours with no luck.</p>
  
  <p>TableViewController Code:</p>
  
  <pre><code>import UIKit
  import CoreData
  
  class MyEventsTableViewController: UITableViewController, NSFetchedResultsControllerDelegate {
  
  var myEvents:[myEventsData] = []
  
  var fetchResultController: NSFetchedResultsController!
  
  func controllerWillChangeContent(controller: NSFetchedResultsController!) {
      tableView.beginUpdates()
  }
  
  func controller(controller: NSFetchedResultsController!, didChangeObject anObject: AnyObject!,atIndexPath indexPath: NSIndexPath!, forChangeType type: NSFetchedResultsChangeType, newIndexPath: NSIndexPath!){
  
      switch type {
      case .Insert:
          tableView.insertRowsAtIndexPaths([newIndexPath], withRowAnimation: .Fade)
      case .Delete:
          tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: .Fade)
      case .Update:
      tableView.reloadRowsAtIndexPaths([indexPath], withRowAnimation: .Fade)
  
      default:
          tableView.reloadData()
      }
  
      myEvents = controller.fetchedObjects as [myEventsData]
  
  }
  
  func controllerDidChangeContent(controller: NSFetchedResultsController) {
      tableView.endUpdates()
  }
  
  override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -&gt; UITableViewCell {
  
      let cellIdentifier = "myEventsCell"
      let cell = tableView.dequeueReusableCellWithIdentifier(cellIdentifier, forIndexPath: indexPath) as MyEventsTableViewCell
  
      let eventData = myEvents [indexPath.row]
      cell.eventNameLabel.text = "Name: " + eventData.eventName
      cell.startDateLabel.text = "Start: " + eventData.startDate
      cell.endDateLabel.text = "End: " + eventData.endDate
  
      cell.eventData = eventData
  
      cell.backgroundColor = UIColor.clearColor()
  
  
  
      return cell
  }
  
  override func prepareForSegue (segue: UIStoryboardSegue, sender: AnyObject!) {
      if segue.identifier == "showEventDetails" {
          if let indexPath = self.tableView.indexPathForSelectedRow() {
  
          let destinationController = segue.destinationViewController as MyEventDetailsViewController
  
          destinationController.eventData! = myEvents[indexPath.row]
          }
             }
  }
  </code></pre>
  
  <p>DestinationViewController Code:</p>
  
  <pre><code>import UIKit
  
  class MyEventDetailsViewController: UIViewController, UITableViewDelegate {
  
  
  var eventData:myEventsData!
  
  
  @IBOutlet weak var eventName: UILabel!
  @IBOutlet weak var startDate: UILabel!
  @IBOutlet weak var endDate: UILabel!
  @IBOutlet weak var details: UILabel!
  @IBOutlet weak var postComment: UIButton!
  @IBOutlet weak var checkIn: UIButton!
  @IBOutlet weak var addPhoto: UIButton!
  @IBOutlet weak var myWineJournal: UIButton!
  
  
  override func viewDidLoad() {
      super.viewDidLoad()
  
      // Do any additional setup after loading the view.
  
      self.eventName.text = eventData.eventName
      self.startDate.text = eventData.startDate
      self.endDate.text = eventData.endDate
      self.details.text = eventData.details
  
  }
  </code></pre>