İOS Swift

Swift Property Observers

swift

İngilizcesi “Property Observers” olan özellik gözlemleyiciler, bir property’nin değerini sürekli gözlemlerler ve bu değer değiştiği zaman tetiklenirler. Property’nin değeri her değiştiğinde gözlemleyici tetiklenir.

2 adet gözlemleyici vardır.

  • willSet : Değer kaydedilmeden hemen önce tetiklenir.
  • didSet : Yeni değer kaydedildikten hemen sonra tetiklenir.

Bu gözlemleyicilerin kullanım yerleri, uygulamalardaki ihtiyaçlara göre belirlenir. Bir değişkene değer atanmadan önce bir işlem yapılması gerekiyorsa, örneğin atanacak değer bir yere loglanacak, hesaplanacak, vs ise willSet kullanılır.

Değer ataması yapıldıktan sonra yine kullanım gerekiyorsa, örneğin atanan değerin hesaplanması, total değerin hesaplanması, loglama vs. bunlar için de didSet kullanılır.

Konumuzun daha kolay anlaşılabilmesi için bir adım sayar algoritması anlatacağım. Algoritmamız çok basit bir işlem yapıyor. Adım sayarın toplam değerini değiştiriyor.

adım sayar kod5

Peki bu algoritmada willSet ve didSet’i nasıl kullanacağız?

Algoritmamızın yapmış olduğu adım sayarın toplam değerini değiştirme işlemini yaparken, toplam değer kaydedilmeden hemen önce “değerin kaç olarak” kaydedileceğini konsola yazdıracağız. Bu işlemi yaparken de willSet kullanacağız.

Toplam adımsayar değerinden eski değeri çıkararak da değerin kaç artırıldığını didSet kullanarak konsola yazdıracağız.

Bu algoritma için çalışacak Swift kod bloğu şu şekildedir:

Örnekte görüldüğü gibi, ilk olarak toplam adım değerini 150 yaptık, bu da demek oluyor ki toplam değere 150 eklemiş olduk.

Daha sonra toplam değer 260 oluyor. Toplam değer önceden 150 idi, sonra 260 oldu yani 110 adım daha eklendi.

Yine aynı şekilde toplam değerimiz 635 ve eklenen değerimiz 375 oldu.

Tüm bu işlemleri willSet ve didSet kullanarak konsola yazdırmış olduk.

Türk Telekom Şirketinde CRM Çözümlerinde Teknik Analist olarak görev yapmaktayım. Geçmişte ise iOS uygulama geliştirici olarak çalıştım. Bilginin ve paylaşmanın gücüne can-ı gönülden inanırım..