title: Custom Segue in Swift
body: <pre><code>@objc(SEPushNoAnimationSegue)
  class SEPushNoAnimationSegue: UIStoryboardSegue {
      override func perform () {
        self.sourceViewController.navigationController.pushViewController(self.destinationViewController, animated:false)
      }
  }
  </code></pre>
  
  <p>In the above code, I have 2 questions:
  1). it has a compile error:
  'UINavigationController!' does not have a member named 'pushViewController'</p>
  
  <p>But in that class, it did has a pushViewController method.</p>
  
  <p>2). I have to add the annotation: @objc(SEPushNoAnimationSegue),
  otherwise, in storyboard, it only recognize the random generated name, like, _tcxxxxSEPushNoAnimationSegue.</p>
  
  <p>why these 2 issues happen here?</p>