Swift ile İnternet Kontrolü -Bölüm 1-

Mücahit Katırcı
2 min readJan 13, 2019

--

Merhaba.. İki bölümden oluşan bu yazıda ilk bölümde swift ile internet kontrolünün Reachability kütüphanesi ile nasıl sağlanacağını ele alacağım.İkinci bölümde ise bu işlevsel fonksiyonlar ile kullanıcıya nasıl güzel bir deneyim(UX) sunabiliriz bundan bahsedeceğim.

Öncelikle projemiz içerisine CocoaPods u entegre etmeliyiz.Daha sonra ‘ReachabilitySwift’ podunu pod file içerisine koyup pod install yapmalıyız.

Proje içerisine Reachability kütüphanesini entegre ettikten sonra kütüphaneyi çağıralım.

Daha sonra Reachability Sınıfından bir nesne üretelim.

Reachability fonksiyonlarını başlatmak ve durumları handle etmek için bir metot yazalım.Bu metotu viewDidLoad() içerisinde çağıralım.Buradaki fonksiyonu tanımlamanın amacı viewDidLoad() içerisinde kod kalabalıklarından ziyade daha yönetilebilir sistem kurmaktır. viewDidLoad() içerisine baktığımız zaman genel olarak o view controller içerisinde ne işlemler yapıldığını anlamamız gerekmektedir ve bu algoritmanın işleyişini ancak parçalayarak mümkün olmaktadır.

startReachability() metotu içerisinde

1-) reachability’nin startNotifier() fonksiyonunu çağırıyoruz.Bu fonksiyon internet kontrolünü başlatığımız fonksiyondur.Bunun ile beraber arka planda internet anlık olarak kontrol edilir.

2-) Burası internetin anlık durumlarını handle ettiğimiz closure.Burada internetin WiFi üzerinden mi yoksa Cellular üzerinden mi sağlanıyor bunu da handle edebilmekteyiz.

3-) Burası ise startNotifier() fonksiyonu ile ilgili bir istisnanın handle edileceği scope’tur.

Şimdi akla gelen ilk soru peki ya internet yoksa ne yapacağız ?

Burada internetin olmadığı durumu handle edebiliriz.

Yukarıda bahsettiklerim internet kontrolünü nasıl başlatıcağım ve nasıl handle edeceğimiz ile alakalıydı.Peki internet kontrolünü nasıl kapatabiliriz ?

Bunun için de ayrı bir fonksiyon oluşturalım.

Bu fonksiyon ile internet fonksiyonunu isteğimiz zaman kapatabiliriz.

Bölüm 1 bu şekilde sonlanmaktadır.Yukarıdaki ilgili fonksiyonlar ile uygulamamız içerisinde artık bir takım internet gerektiren ve ya internetin olmadığı durumlarda yapılması gereken işlemleri daha rahat handle edebiliriz.Bir sonraki bölümde kullanıcının bu kontroller olurken ekranda neler görmeli neler deneyimlemeli bunlarda bahsetmiş olucam.Bir sonraki bölümde görüşmek üzere…

--

--