Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
import Foundation
import Reachability
//declare this property where it won't go out of scope relative to your listener
fileprivate var reachability: Reachability!
protocol ReachabilityActionDelegate {
func reachabilityChanged(_ isReachable: Bool)
protocol ReachabilityObserverDelegate: class, ReachabilityActionDelegate {
func addReachabilityObserver() throws
func removeReachabilityObserver()
// Declaring default implementation of adding/removing observer
extension ReachabilityObserverDelegate {
/** Subscribe on reachability changing */
func addReachabilityObserver() throws {
reachability = try Reachability()
reachability.whenReachable = { [weak self] reachability in
reachability.whenUnreachable = { [weak self] reachability in
try reachability.startNotifier()
/** Unsubscribe */
func removeReachabilityObserver() {
reachability = nil
Copy link

@ surajkumarmandal thanks for the help, I have updated gist for Swift 5

Copy link

How i can use this please comment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment