¿Cómo puedo anular esta propiedad Swift?

class Base: UIViewController { var rightButtonColor: UIColor = UIColor.blueColor() } class SecondViewController: Base { override var rightButtonColor: UIColor { return UIColor.networkingColor() } } 

Estoy recibiendo un error:

Getter para 'rightButtonColor' con el selector Objective-C 'rightButtonColor' entra en conflicto con getter para 'rightButtonColor' desde la superclass 'Base' con el mismo selector Objective-C

Intente esto:

 class Base: UIViewController { var rightButtonColor: UIColor { return UIColor.blueColor() } } class SecondViewController: Base { override var rightButtonColor: UIColor { return UIColor.networkingColor() } } 

También aparece otro error:

no puede anular propiedad mutable con propiedad de solo lectura

Por lo tanto, debe proporcionar getter y setter:

  class Base: UIViewController { var rightButtonColor: UIColor = UIColor.blueColor() } class SecondViewController: Base { override var rightButtonColor: UIColor { get { return UIColor.networkingColor() } set { self.rightButtonColor = newValue } } } 

Las dos declaraciones diferentes de rightButtonColor tienen diferentes types. Se comstack de forma limpia si se asegura de que sean exactamente del mismo tipo:

 class Base: UIViewController { var rightButtonColor: UIColor { return UIColor.blueColor() } } class SecondViewController: Base { override var rightButtonColor: UIColor { return UIColor.networkingColor() } }