cocoa - programacion - Protocolos Swift: el método no anula ningún método de su superclase
que es un protocolo en swift (2)
Con x código 9.1 prueba
override func viewDidLoad() {
super.viewDidLoad()
// Force the device in portrait mode when the view controller gets loaded
UIDevice.current.setValue(UIInterfaceOrientation.landscapeRight.rawValue, forKey: "orientation")
}
override var shouldAutorotate:Bool {
// Lock autorotate
return true
}
override var supportedInterfaceOrientations: UIInterfaceOrientationMask {
return .landscape
}
override var preferredInterfaceOrientationForPresentation: UIInterfaceOrientation {
return .landscapeRight
}
Dado que Xcode 6 todavía tiene muchos errores con Swift, no estoy seguro si es uno o me falta algo. Mi clase adopta el protocolo NSLayoutManagerDelegate. Pero parece imposible anular el método que necesito. Hago como la documentación describe:
override func layoutManager(_ aLayoutManager: NSLayoutManager!,
didCompleteLayoutForTextContainer aTextContainer: NSTextContainer!,
atEnd flag: Bool) {
}
Pero aquí aparece el error: el método no anula ningún método de su superclase. ¿Que debería hacer?
Está implementando un método del protocolo, sí, pero no es una anulación. Solo elimine la palabra clave de override
. Una anulación es cuando su superclase también implementa ese método y proporciona una versión que reemplaza o modifica el comportamiento de la implementación de la superclase. Eso no es lo que está sucediendo aquí.