İçeriğe geç

NSCoding kullanımı

Merhabalar bu yazımda İOS içerisinde bulunan önemli sınıflardan NSCoding yapısını nasıl kullanırız ve hangi durumlarda kullanmamız gerekli bundan bahsedip, örnek vereceğim.

Öncelikle sınıfımız üzerinde NSCoding sınıfını devralmamız için sınıfımızın NSObject sınıfından türemiş olması gerekli. Her hangi bir yazdığımız sınıfa NSObject ve NSCoding sınıflarını ekledik. Şimdi neden kullanmalıyım diye sormanız muhtemel bir durum. UserDefaults sınıfını çoğumuz kullanıyoruz. Bu sınıf sayesinde veriyi dilediğimiz gibi uygulamaya kaydedip. Daha sonra key yardımıyla çağırıp dilediğimiz yerde kullanabilmekteyiz. Taki kullanıcı uygulamayı silene kadar bu veriler hafızada kalmakta. Burada eklediğimiz veriler Data,UIImage,UIColor,String dilediğimiz veriyi ekleyebiliriz. Ancak kendi yazdığımız bir sınıfı örneğin User adlı sınıfı ekleyip kaydetmeye çalıştığımızda olay uygulama kapanması ile sonuçlanmaktadır. Kendi yazdığımız sınıfı cihaz üzerinde kalıcı olarak UserDefaults ile kaydetmek istediğimiz zaman NSCoding sınıfını sınıfımız üzerinde kullanmamız gerekli.

Basit bir örnek ile yukarıda sınıfımı oluşturup gerekli sınıfları implement ettikten sonra sınıf içerisinde kolay bir şekilde encode,decode olaylarını yazıyoruz. Böylelikle sınıfımız arşivlenmeye hazır hale geliyor.

UserDefault ile ekleme yapmadan önce sınıfımızı arşivleme işlemi yapmamız gerekli. Bu işlemide NSKeyedArchiver sınıfı ile hallediyoruz.

Olay bu kadar. Daha sonra verileri almak istediğimizde ise defaults ile data olarak aldığımız verilerin arşivden çıkarmamız gerekli. Bunun için ise NSKeyedUnarchiver sınıfını kullanıyoruz. Aşağıdaki kodu inceleyerek işlemin son adımını görebilir. Eklediğimiz User sınıfını tekrar elde edebilirsiniz.

 

 

Tarih:İOS

Bu yazı yorumlara kapalı.