Проверьте подключение к Интернету с помощью PFQueryTableViewController в Swift

У меня есть приложение, над которым я работаю, которое связано с Parse, поэтому я использую PFQueryTableViewController,

Я просто хотел бы знать, как я могу проверить подключение к Интернету при запуске приложения.

В настоящее время, если я отключаю свое интернет-соединение, а затем запускаю приложение, я получаю загрузочный счетчик для таблицы, но, очевидно, ничего не загружается. В конце концов, спиннер останавливается, и я просто остаюсь с пустым столом.

Я читал об использовании Reachability, но не совсем уверен, как вставить это в мое текущее приложение.

По сути, мне бы хотелось, чтобы каждый раз, когда пользователь запускал приложение, он проверял подключение к интернету, и если это было замечательно! Если нет, отображается предупреждение "Нет соединения".

Может кто-нибудь помочь, пожалуйста? Я добавил свой код для queryForTable() функция, где я думаю, что эта проверка должна произойти. Дайте мне знать, если вам нужно увидеть какой-либо другой мой код. Спасибо

override func queryForTable() -> PFQuery {

    let query = PFQuery(className: "Reviews")

    if indexArray == 0 {

        query.orderByDescending("createdAt")

    } else if indexArray == 1 {

        query.orderByAscending("FilmName")

    } else if indexArray == 2 {

        query.orderByDescending("OurRating")

    } else if indexArray == 3 {

        query.orderByAscending("OurRating")

    } else if indexArray == 4 {

        query.orderByDescending("WantToSeeThisCount")

    } else if indexArray == 5 {

        query.orderByAscending("DirectedBy")

    } else if indexArray == 6 {

        query.orderByDescending("UpVoteCount")

    } else if indexArray == 7 {

        query.orderByDescending("DownVoteCount")

    }

    query.whereKey("ToDisplayInApp", equalTo:true)

    // Add a where clause if there is a search criteria
    if filmSearchBar.text != "" {

        query.whereKey("FilmName", containsString: filmSearchBar.text!)

    }

    return query

}

1 ответ

var reachability: Reachability!

func checkNetworkReachability() {
    NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(functionToHandleWhenConnectionChanges()), name:kReachabilityChangedNotification, object: nil)

    if self.reachability == nil {
        self.reachability = Reachability.reachabilityForInternetConnection()
        self.reachability.startNotifier()
    }
}

func functionToHandleWhenConnectionChanges() {
     // self.reachability.isReachable() returns a boolean. If it's yes, then you are connected to internet, otherwise not connected.
}

Прежде чем делать все это, добавьте файлы Reachability.h и Reachability.m с https://github.com/tonymillion/Reachability

Надеюсь это поможет:)

Другие вопросы по тегам