title: Segue Error : ViewController has no segue with identifier
body: <p>Im in a very deep pickle. I realize there are a good amount of SO topics regarding my error and i'v been through 3-4 pages of Google search results of those answers and have tried all the solutions. None have worked.</p>
  
  <p>What Iv tried :</p>
  
  <ol>
  <li>Reset Simulator Settings</li>
  <li>Clean out Xcode Build files</li>
  <li>Rename Storyboard</li>
  <li>Check to see if segue identified is not spelled wrong (hundreds of times)</li>
  <li>Restart and rebuild xCode project</li>
  <li>Make sure the segue is actually associated with the ViewController in the error.</li>
  </ol>
  
  <p>Problem : Iv made a segue from <strong>ViewProjectViewController</strong> to <strong>RecordModule</strong>. Then I programmatically added a bar button to the NavBar of <strong>ViewProjectViewController</strong> since that Nav bar is made programmatically from the previous VC.</p>
  
  <p>Then as you can for 'item3'..that is the button I click to run the function with performSegueWithIdentifier. But when I click it I get this error:</p>
  
  <pre><code>2016-04-29 12:54:59.098 music[9298:1272742] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (&lt;music.ViewProjectViewController: 0x7bead670&gt;) has no segue with identifier 'recMod''
  *** First throw call stack:
  (
      0   CoreFoundation                      0x00ac3494 __exceptionPreprocess + 180
      1   libobjc.A.dylib                     0x02e9be02 objc_exception_throw + 50
      2   UIKit                               0x01b4971c -[UIViewController shouldPerformSegueWithIdentifier:sender:] + 0
      3   music                               0x00089ad8 _TFC5music25ViewProjectViewController13openRecModulefPs9AnyObject_T_ + 168
      4   music                               0x00089b4a _TToFC5music25ViewProjectViewController13openRecModulefPs9AnyObject_T_ + 58
      5   libobjc.A.dylib                     0x02eb00b5 -[NSObject performSelector:withObject:withObject:] + 84
      6   UIKit                               0x01977e38 -[UIApplication sendAction:to:from:forEvent:] + 118
      7   UIKit                               0x01e079da -[UIBarButtonItem(UIInternal) _sendAction:withEvent:] + 179
      8   libobjc.A.dylib                     0x02eb00b5 -[NSObject performSelector:withObject:withObject:] + 84
      9   UIKit                               0x01977e38 -[UIApplication sendAction:to:from:forEvent:] + 118
      10  UIKit                               0x01977db7 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 64
      11  UIKit                               0x01b1bf3b -[UIControl sendAction:to:forEvent:] + 79
      12  UIKit                               0x01b1c2d4 -[UIControl _sendActionsForEvents:withEvent:] + 433
      13  UIKit                               0x01b1c483 -[UIControl _sendActionsForEvents:withEvent:] + 864
      14  UIKit                               0x01b1b2c1 -[UIControl touchesEnded:withEvent:] + 714
      15  UIKit                               0x019f852e -[UIWindow _sendTouchesForEvent:] + 1095
      16  UIKit                               0x019f95cc -[UIWindow sendEvent:] + 1159
      17  UIKit                               0x0199abe8 -[UIApplication sendEvent:] + 266
      18  UIKit                               0x0196f769 _UIApplicationHandleEventQueue + 7795
      19  CoreFoundation                      0x009d5e5f __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 15
      20  CoreFoundation                      0x009cbaeb __CFRunLoopDoSources0 + 523
      21  CoreFoundation                      0x009caf08 __CFRunLoopRun + 1032
      22  CoreFoundation                      0x009ca846 CFRunLoopRunSpecific + 470
      23  CoreFoundation                      0x009ca65b CFRunLoopRunInMode + 123
      24  GraphicsServices                    0x05d4e664 GSEventRunModal + 192
      25  GraphicsServices                    0x05d4e4a1 GSEventRun + 104
      26  UIKit                               0x01975eb9 UIApplicationMain + 160
      27  music                               0x000a7391 main + 145
      28  libdyld.dylib                       0x040a1a25 start + 1
  )
  libc++abi.dylib: terminating with uncaught exception of type NSException
  </code></pre>
  
  <p>Heres my code ( ViewController - Starting Point of the Segue)</p>
  
  <pre><code>class ViewProjectViewController: UITableViewController {
  
  
  
  
      var selectedProj: Array&lt;String&gt; = []
      var selectedKey: String = ""
  
  
      var listItemsTwo = [ListItemTwo]()
  
      let shareDataTwo = SharedDataTwo.sharedInstance
  
  
      override func viewDidLoad() {
          super.viewDidLoad()
  
          // Setup Left UIBarButton Here
          self.navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named:  "BackBtn"), style: .Plain, target: self, action: #selector(ViewProjectViewController.backButtonPressed(_:)))
  
  
          // Setup Right UIBarButton Here
  
          var items : Array&lt;UIBarButtonItem&gt; = []
  
  
          let item1 = UIBarButtonItem(image: UIImage(named: "SaveBtn"),style: UIBarButtonItemStyle.Plain, target: self, action: #selector(ViewProjectViewController.saveChanges))
  
          let item2 = UIBarButtonItem(image: UIImage(named:  "EditBtn"), style: .Plain, target: self, action: #selector(ViewProjectViewController.editProject))
  
  
          // SEGUE BUTTON NOT WORKING //////////////////////
          let item3 = UIBarButtonItem(title: "Record", style: .Plain, target: self, action: #selector(ViewProjectViewController.openRecModule))
          item3.tintColor = UIColor.redColor()
  
          items.append(item1)
          items.append(item2)
          items.append(item3)
  
  
          self.navigationItem.setRightBarButtonItems(items, animated: true)
  
  
  
  
          item1.setTitleTextAttributes([
              NSFontAttributeName: UIFont(name: "Aldrich", size: 12.0)!],
                                             forState: UIControlState.Normal)
  </code></pre>
  
  <p>Heres the segue code (ViewProjectViewController)</p>
  
  <pre><code>func openRecModule(sender: AnyObject) {
      self.performSegueWithIdentifier("recMod", sender: nil)
  }
  
  override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
  
      if let destinationVC = segue.destinationViewController as? RecordModule {
          destinationVC.transitioningDelegate = self
      }
  
  
  
  }
  </code></pre>
  
  <p>Interface Builder Image - <a href="http://i.imgur.com/klbwdrm.png" rel="nofollow">http://i.imgur.com/klbwdrm.png</a></p>
  
  <p><strong>How ViewProjectViewController Appeared on Screen</strong> </p>
  
  <p>The <strong>MainPanelViewController</strong> directs the user to <strong>ViewProjectViewController</strong>.</p>
  
  <p>The <strong>MainPanelViewController</strong> is a <em>UIViewController</em> with <em>UITableView</em> embeded inside. The code for <em>UITableViewCell</em> is below (which is also the segue to <strong>ViewProjectViewControlle</strong>r)</p>
  
  <pre><code>func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
  
          let keys = Array(sharedDataThree.c.keys)
          let object = self.sharedDataThree.c[keys[indexPath.row]]
  
          let newProgramVar = object as! NSArray
  
          let destinationVC = ViewProjectViewController()
  
          destinationVC.selectedProj = newProgramVar as! Array&lt;String&gt;
          destinationVC.selectedKey = keys[indexPath.row]
  
          //performSegueWithIdentifier("viewProject", sender: self)
  
          var alreadyPushed = false
  
          if let vc = self.navigationController?.viewControllers {
              for viewController in vc {
                  if let viewController = viewController as? ViewProjectViewController {
                      self.navigationController?.popToViewController(viewController, animated: true)
                      print("Push your controller")
                      alreadyPushed = true
                      break
                  }
              }
          }
          if alreadyPushed == false {
              self.navigationController?.pushViewController(destinationVC, animated: true)
          }
  </code></pre>