2016-06-24 59 views
0

我嘗試使用navigationcontroller 我得到這個錯誤IAM usring Xcode7Swift 2和目標體系,使我的應用程序只是在肖像模式IAM有效IOS 9.3
宣言是唯一有效的文件範圍聲明只在文件範圍(擴展)

 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

回答

4

錯誤消息是很清楚。您不能在任何內容中聲明extension-在class聲明中,在struct聲明中,等等。它必須位於包含文件頂層的所有內容之外。它周圍一定沒有花括號。

您尚未顯示聲明此extension的上下文,但顯然有左右花括號,否則您將不會收到錯誤消息!

但在任何情況下,無論你在哪裏聲明它們,擴展是非法的:你不能在擴展做一個override。 (看我的回答here。)

+0

你會介意,如果輸入一些代碼來解釋這個 – kvra13