que protocolos protocolo programacion orientada multiple herencia cocoa swift nslayoutmanager

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í.