2016-06-24 62 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