2016-06-24 17 views
0

でのみ有効で、ターゲットシステム宣言は、宣言がファイルスコープでのみ有効である<code>IOS 9.3</code><br> 私はこのエラーIAM usring <code>Xcode7</code>と<code>Swift 2</code>を取得し、私は navigationcontrollerを使用して、単にポートレートモードのIAMで私のアプリを作ってみるのファイルスコープ(拡張子)

 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

関連する問題