2016-06-24 7 views
0

ich versuche, meine App nur im Portrait-Modus iam zu machen mit Navigation ich erhalte diesen Fehler iam usring Xcode7 und Swift 2 und Zielsystem IOS 9.3
Erklärung ist nur auf Datei Umfang gültigErklärung nur gültig im Dateigültigkeitsbereich ist (Erweiterung)

 extension UINavigationController { 
      public override func supportedInterfaceOrientations() -> Int { 
       return visibleViewController.supportedInterfaceOrientations() 
      } 
      public override func shouldAutorotate() -> Bool { 
       return visibleViewController.shouldAutorotate() 
      } 
     } 

     extension UITabBarController { 
      public override func supportedInterfaceOrientations() -> Int { 
       if let selected = selectedViewController { 
        return selected.supportedInterfaceOrientations() 
       } 
       return super.supportedInterfaceOrientations() 
      } 
      public override func shouldAutorotate() -> Bool { 
       if let selected = selectedViewController { 
        return selected.shouldAutorotate() 
       } 
       return super.shouldAutorotate() 
      } 
     } 

Thnx

Antwort

4

Die Fehlermeldung ist ganz klar. Sie können keine extension innerhalb von irgendetwas erklären - innerhalb einer class Deklaration, innerhalb einer struct Deklaration, etc. Es muss außerhalb von allem auf der obersten Ebene der enthaltenen Datei sein. Es darf keine geschweiften Klammern geben.

Sie haben den Kontext, in dem gezeigt Sie diese extension deklarieren, aber klar gibt sind geschweiften Klammern um ihn herum, oder Sie würden nicht den Fehler bekommen!

Aber auf jeden Fall, egal, wo Sie sie erklären, Ihre Erweiterungen sind illegal: Sie können eine override in einer Erweiterung nicht tun. (Siehe meine Antwort here.)

+0

würde es Ihnen etwas ausmachen, wenn Sie Code eingeben, um dies zu erklären – kvra13