Variable calculada en la extensión del protocolo en swift

Acabo de comenzar a trabajar rápidamente siguiendo la progtwigción orientada al protocolo, estoy enfrentando un problema al trabajar con variables computadas.

Hago un protocolo para verificar la accesibilidad a Internet en toda la aplicación (en lugar de usar una subclass UIVIewController que implementa este comportamiento, ya está hecho). Pero cuando ejecuto la aplicación falla en la propiedad de set de acceso para una variable computada (): introduzca la descripción de la imagen aquí

Y este es el código:

import UIKit protocol ReachabilityProtocol: class { var reachability: NetReach? { get set } func startReachability() func stopReachability() func internetIsAccessible() func internetIsNotAccessible() } extension ReachabilityProtocol where Self: UIViewController { var reachability: NetReach? { get { return reachability } set { reachability = newValue } } func startReachability() { do { reachability = try NetReach.reachabilityForInternetConnection() } catch { print("Unable to create Reachability") return } NSNotificationCenter.defaultCenter().addObserverForName(ReachabilityChangedNotification, object: reachability, queue: nil, usingBlock: { notification in let reachable = notification.object as! NetReach if !reachable.isReachable() { self.internetIsNotAccessible() } else { self.internetIsAccessible() } }) do { try reachability?.startNotifier() } catch { self.internetIsNotAccessible() print("Could not start reachability notifier") } } func stopReachability() { reachability!.stopNotifier() NSNotificationCenter.defaultCenter().removeObserver(self, name: ReachabilityChangedNotification, object: reachability) } } 

¿Alguna idea de cómo puedo resolver este problema? Gracias.