我尝试使用navigationcontroller以纵向模式制作我的应用程序
我在使用Xcode7
和Swift 2
以及目标系统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
答案 0 :(得分:9)
错误信息非常清楚。你不能在extension
声明中,在class
声明中声明任何内容struct
。它必须在所有内容之外,在包含文件的顶层。它周围一定没有花括号。
您尚未显示声明此extension
的上下文,但很明显围绕它大括号,或者您不会收到错误!
但无论如何,无论您在何处声明,您的扩展程序都是非法的:您无法在扩展程序中执行override
。 (见我的回答here。)